Android实验报告—Android框架及Activity 生命周期程序设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Android框架及Activity 生命周期程序设计
实验目的:
本实验的目的是使学生深入了解Android程序框架结构、了解Android组件的生命周期中各状态的变化关系、掌握Android应用程序的调试方法和工具。通过程序设计,掌握Activity的三种生命周期:全生命周期、可视生命周期和活动生命周期;每种生命周期中包含的不同的事件回调函数,以及它们的作用和调用顺序,深入理解Activity的生命周期过程。
实验要求:
根据下图,设计程序解释不同的事件回调函数在Activity的三种生命周期的作用如何。
[实现提示]
1、建立Android工程,其中
工程名称:ActivityLifeCycle你的学号
包名称:.bistu.你的班级号. ActivityLifeCycle你的学号
Activity名称:ActivityLifeCycle你的学号
如:电技1001班学号后三位为123的学生,应将包名称设为:
.bistu.dj1001. ActivityLifeCycle123
2、工程建立完毕后,可以不进行界面设计,即不必修改main.xml文件,直接编写Java文件
3、通过在生命周期函数中添加“日志点”的方法进行调试
4、为了显示结果易于观察和分析,在LogCat设置过滤器LifeCycleFilter
测试过程
在程序运行过程,通过点击模拟器上的“返回键”,生命周期中事件回调函数的执行顺序及作用是函数的调用顺序:onSaveInstanceState ()→onPause()→onStop() →onRestart()→onStart()→onResume();调用onSaveInstanceState()函数保存Activity状态;调用onPause()和onStop(),停止对不可见Activity的更新;调用onRestart()恢复需要界面上需要更新的信息;调用onStart()和onResume()重新显示Activity,并接受用户交互。
程序源码:
package .bistu.dj1001.ActivityLifeCycle123;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
public class ActivityLifeCycle123 extends Activity {
private static String TAG="LIFECYCLE";
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(yout.main);
Log.i(TAG, "(1)onCreate()");
}
@Override
protected void onStart() {
// TODO Auto-generated method stub
super.onStart();
Log.i(TAG, "(2)onStart()");
}
@Override
protected void onRestoreInstanceState(Bundle savedInstanceState) { // TODO Auto-generated method stub
super.onRestoreInstanceState(savedInstanceState);
Log.i(TAG, "(3)onRestoreInstanceState()");
}
@Override
protected void onResume() {
// TODO Auto-generated method stub
super.onResume();
Log.i(TAG, "(4)onResume()");
}
@Override
protected void onSaveInstanceState(Bundle outState) {
// TODO Auto-generated method stub
super.onSaveInstanceState(outState);
Log.i(TAG, "(5)onSaveInstanceState()");
}
@Override
protected void onRestart() {
// TODO Auto-generated method stub
super.onRestart();
Log.i(TAG, "(6) onRestart()");
}
@Override
protected void onPause() {
// TODO Auto-generated method stub
super.onPause();
Log.i(TAG, "(7) onPause()");
}
@Override
public void onStop() {
super.onStop();
Log.i(TAG, "(8) onStop()");
}
@Override
public void onDestroy() {
super.onDestroy();
Log.i(TAG, "(9) onDestroy()");