实验三 Android生命周期
一、实验目的
- 巩固使用 Eclipse 开发 Android 应用程序方法和步骤。
- 加深了解和体验 Activity 的生命周期中各状态的变化关系。
- 掌握 Android 应用程序的调试方法和工具。
二、实验内容
建立在 Android 生命周期各阶段添加日志点的 Android 工程,工程名称:ActivityLifeCycle , 包名称: edu.scse.ActivityLifeCycle , Activity 名 称 :ActivityLifeCycle。
三、实验仪器、设备
硬件:PC 微型计算机、1G 以上内存,40G 以上硬盘
软件:Windows XP,Eclipse , JDK , Android SDK
四、实验步骤
建立工程请参考实验二。
具体代码如下:
ActivityLifeCycle.java 文件的代码:
public class ActivityLifeCycle extends AppCompatActivity {
private static String TAG = "LIFTCYCLE";
@Override //完全生命周期开始时被调用,初始化 Activity
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Log.i(TAG, "(1) onCreate()--185764");
}
@Override //可视生命周期开始时被调用,对用户界面进行必要的更改
public void onStart(){
super.onStart();
Log.i(TAG, "(2) onStart()--185764");
}
@Override // 在 onStart() 后被调用,用于恢复onSaveInstanceState()保存的用户界面信息
public void onRestoreInstanceState(Bundle savedInstanceState){
super.onRestoreInstanceState(savedInstanceState);
Log.i(TAG, "(3) onRestoreInstanceState()--185764");
}
@Override //在活动生命周期开始时被调用,恢复被 onPause()停止的用于界面更新的资源
public void onResume(){
super.onResume();
Log.i(TAG, "(4) onResume()--185764");
}
@Override // 在 onResume()后被调用,保存界面信息
public void onSaveInstanceState(Bundle savedInstanceState){
super.onSaveInstanceState(savedInstanceState);
Log.i(TAG, "(5) onSaveInstanceState()--185764");
}
@Override //在重新进入可视生命周期前被调用,载入界面所需要的更改信息
public void onRestart(){
super.onRestart();
Log.i(TAG, "(6) onRestart()--185764");
}
@Override //在活动生命周期结束时被调用,用来保存持久的数据或释放占用的资源
public void onPause(){
super.onPause();
Log.i(TAG, "(7) onPause()--185764");
}
@Override //在可视生命周期结束时被调用,一般用来保存持久的数据或释放占用的资源
public void onStop(){
super.onStop();
Log.i(TAG, "(8) onStop()--185764");
}
@Override //在完全生命周期结束时被调用,释放资源,包括线程、数据连接等
public void onDestroy(){
super.onDestroy();
Log.i(TAG, "(9) onDestroy()--185764");
}
}
五、实验结果
- 项目启动
- 返回手机主界面
- 返回APP界面
- 退出APP
六、思考题
- LogCat工具如何使用?
Log.v():用于打印最为琐碎,意义最小的日志信息,级别最低。
Log.d():用于打印一些调试信息,对应级为debug。
Log.i():用于打印一些比较重要的数据,对应级别info。
Log.w():用于打印一些警告信息。
Log.e():用于打印程序中的错误信息。