上一小节介绍了Activity生命周期中的各个过程,本小节将以一个简单的实例来使读者亲身体验到Activity生命周期中的各个事件。
在Eclipse中新建一个Android工程,命名为example4_1,修改其MainActivity类中的内容如范例4-1所示。
【范例4-1Activity生命周期的演示】
01 //此处省略若干个导入文件,由Eclipse自动生成 02 public classMainActivity extends Activity { //类MainActivity继承类Activity 03 String TAG="Activity生命周期事件"; 04 @Override 05 protected voidonCreate(Bundle savedInstanceState) { 06 super.onCreate(savedInstanceState); 07 setContentView(R.layout.activity_main); 08 Log.e(TAG,"启动onCreate事件"); 09 } 10 @Override 11 protected voidonDestroy() { //重写onDestroy事件 12 // TODO Auto-generatedmethod stub 13 super.onDestroy(); 14 Log.e(TAG,"启动onDestroy事件"); //在LogCat中显示记录 15 } 16 @Override 17 protected void onPause(){ 18 // TODO Auto-generatedmethod stub 19 super.onPause(); 20 Log.e(TAG,"启动onPause事件"); 21 } 22 @Override 23 protected voidonRestart() { 24 // TODO Auto-generatedmethod stub 25 super.onRestart(); 26 Log.e(TAG,"启动onRestart事件"); 27 } 28 @Override 29 protected void onResume(){ 30 // TODO Auto-generatedmethod stub 31 super.onResume(); 32 Log.e(TAG,"启动onResume事件"); 33 } 34 @Override 35 protected void onStart(){ 36 // TODO Auto-generatedmethod stub 37 super.onStart(); 38 Log.e(TAG,"启动onStart事件"); 39 } 40 @Override 41 protected void onStop() { 42 // TODO Auto-generatedmethod stub 43 super.onStop(); 44 Log.e(TAG,"启动onStop事件"); 45 } 46 }
运行之后即可看到在LogCat窗口中显示出如图4-2所示的内容。
提示:可以通过设置过滤器来过滤LogCat中的信息,使之只显示与该Activity有关的记录,如图4-3所示。过滤后的内容如图4-4所示。
回过头来再看上一小节中对启动Activity的描述,要启动一个Activity需要经历onCreate、onStart、onResume 3个事件,在图4-4中可以确认这一点。可以通过对手机的进一步操作来验证上一小节中的内容,比如点击HOME键或返回键来观察LogCat中的日志记录。
图4-2 Activity启动时所经历的事件
图4-3 利用Tag标签过滤LogCat中的信息
图4-4 过滤后的LogCat窗口
在Eclipse的代码编辑区域右击,依次选择Source|Overridemethods命令可以看到一些其他的事件,如图4-5所示。
图4-5 Activity中的一些其他事件
这类事件大多对应着应用的某一特定操作或错误。比如事件OnTitleChanged就是在应用的标题被修改时由系统所发出的事件;再比如听音乐,音乐播放到1分50秒时突然打进来一个电话,系统就会对播放器的Activity使用onPause方法,同时启动一个接电话的Activity,当用户接完电话后则又会通过onRestar方法和onStar方法返回音乐播放界面,并调整音乐播放进度为1分50秒。
清华大学出版社推出的《构建跨平台APP:Phonegap移动应用实战》是一本APP实战书,包含20多个APP实例和3个APP项目,还结合了HTML5移动开发。本书面向移动开发入门人员,低门槛,浅阅读,最适合移动APP创业小白。本次发布第3~5章作为读者学习的基础,有兴趣的欢迎购买本书!欢迎加群:348632872,向作者直接提问交流!
小白学phoneGap《构建跨平台APP:phoneGap移动应用实战》连载三(通过实例来体验生命周期)
原文地址:http://blog.csdn.net/bookzhaopin/article/details/40510571