《实验6 深入理解Activity》由会员分享,可在线阅读,更多相关《实验6 深入理解Activity(6页珍藏版)》请在金锄头文库上搜索。
1、实验实验 6 深入理解深入理解 Activity 一、一、 实验目的实验目的1、掌握 Activity 的开发、配置和使用。2、了解 Activity 的生命周期。二、二、 实验步骤实验步骤1、使用、使用Bundle在在Activity之间交换数据,运行的效果如下所示。之间交换数据,运行的效果如下所示。图1 第1个Actvity界面 图2 通过第1个Actvity启动第2个Activity要求与注意事项:要求与注意事项: 1、Activity01.java源代码所对应的布局文件源代码所对应的布局文件main.xml文件,请参考图文件,请参考图1自己编写。自己编写。2、OtherActivity
2、.java源代码所对应的布局文件源代码所对应的布局文件other.xml文件,请参考图文件,请参考图2自己自己 编写。编写。 3、注意在、注意在AndroidManifest.xml文件中配置两个文件中配置两个Activity。第一个第一个Activity的代码的代码,即即com.whq.Activity01.java,请补充所缺代码,给代码添请补充所缺代码,给代码添 加注释。加注释。 package com.whq; import android.app.Activity; import android.content.Intent; import android.os.Bundle;imp
3、ort android.view.View; import android.view.View.OnClickListener; import android.widget.Button; public class Activity01 extends Activity private Button myButton = null; Override public void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState);setContentView(R.layout.main); myButton
4、= (Button) findViewById(R.id.myButton); myButton.setOnClickListener(new MyButtonListener(); class MyButtonListener implements OnClickListener Override public void onClick(View v) / 生成一个Intent对象 Intent intent = new Intent(Activity01.this,OtherActivity.class);startActivity(intent); 第第2个个Activity的代码的代码
5、 package com.whq; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.widget.TextView;public class OtherActivity extends Activity private TextView myTextView = null; Override protected void onCreate(Bundle savedInstanceState) / TODO Auto-generated met
6、hod stub super.onCreate(savedInstanceState); setContentView(R.layout.other); /取得从上一个Activity当中传递过来的Intent对象 Intent intent = getIntent(); /从Intent当中根据key取得value String value = intent.getStringExtra(“testIntent“); /根据控件的ID得到响应的控件对象 myTextView = (TextView)findViewById(R.id.myTextView);/为控件设置Text值 myTex
7、tView.setText(value); 2、本例通过启动其他、本例通过启动其他Activity并返回结果,并简述程序运行的过程。并返回结果,并简述程序运行的过程。图图3 Activity02启动后界面启动后界面 图图4 要返回结果的要返回结果的Activity界面界面要求与注意事项:要求与注意事项: 1、Activity02.java源代码所对应的布局文件源代码所对应的布局文件main.xml文件,请参考图文件,请参考图3自己编写。自己编写。2、ValueForMain.java源代码所对应的布局文件源代码所对应的布局文件second.xml文件,请参考图文件,请参考图4自己自己 编写。编
8、写。 3、注意在、注意在AndroidManifest.xml文件中配置两个文件中配置两个Activity。请补充请补充Activity02.java源代码所缺内容,给代码添加注释。源代码所缺内容,给代码添加注释。 package com.whq; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget
9、.Button; import android.widget.TextView; public class Activity02 extends Activity TextView tv;Override public void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); setContentView(R.layout.main); tv = (TextView) findViewById(R.id.txtview); Button btn = (Button) findViewById(R.i
10、d.mybtn); btn.setOnClickListener(new OnClickListener() public void onClick(View v) Intent intent = new Intent(); intent.putExtra(“tv“,tv.getText().toString(); startActivityForResult(intent, 0); ); Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) switch (resultCod
11、e) case RESULT_OK: Bundle b = data.getExtras(); String txt = b.getString(“txt“); tv.setText(txt); break; default: break; ValueForMain.java源代码如下所示,给代码添加注释。源代码如下所示,给代码添加注释。package com.whq; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; i
12、mport android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; public class ValueForMain extends Activity EditText ev; Override public void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); setContentView(R.layout.second);ev = (EditText)
13、findViewById(R.id.editview); Button btn = (Button) findViewById(R.id.mybtn2); btn.setOnClickListener(new OnClickListener() public void onClick(View v) Intent intent = new Intent(); intent.setClass(ValueForMain.this, Activity02.class); Bundle b = new Bundle(); b.putString(“txt“, ev.getText().toString
14、(); intent.putExtras(b); ValueForMain.this.setResult(RESULT_OK, intent); finish(); ); 3、请编写一个请编写一个 Activity 的应用程序,测试的应用程序,测试 Activity 的生命周期中的生命周期中(如下图如下图 LogCat 中所示中所示)各方法的执行过程,通过操作,要求在各方法的执行过程,通过操作,要求在 Logcat 中输出如下内容。中输出如下内容。1、程序启动时,在LogCat中输出如下内容。2、按模拟上的Home键时,在LogCat中输出如下内容。3、当重新启动、结束该Activity时,在
15、LogCat中输出如下内容。package com.whq;import android.app.Activity;import android.os.Bundle;import android.util.Log;public class ActivityLifeCycle extends Activity private static String TAG = “LIFTCYCLE“;public void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState);setContentView(R.layou
16、t.activity_main);Log.i(TAG, “(1) onCreate()“);public void onStart() super.onStart();Log.i(TAG, “(2) onStart()“);public void onRestoreInstanceState(Bundle savedInstanceState) super.onRestoreInstanceState(savedInstanceState);Log.i(TAG, “(3) onRestoreInstanceState()“);public void onResume() super.onResume();Log.i(TAG, “(4) onResume()“);public void onSaveInstanceState(Bundle savedInstanceSt