小白学phoneGap《构建跨平台APP:phoneGap移动应用实战》连载三(经过实例来体验生命周

4.1.2  经过实例来亲身体验Activity的生命周期

上一小节介绍了Activity生命周期中的各个过程,本小节将以一个简单的实例来使读者亲身体验到Activity生命周期中的各个事件。html

在Eclipse中新建一个Android工程,命名为example4_1,修改其MainActivity类中的内容如范例4-1所示。ide

【范例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所示的内容。
spa

提示:能够经过设置过滤器来过滤LogCat中的信息,使之只显示与该Activity有关的记录,如图4-3所示。过滤后的内容如图4-4所示。日志

回过头来再看上一小节中对启动Activity的描述,要启动一个Activity须要经历onCreate、onStart、onResume 3个事件,在图4-4中能够确认这一点。能够经过对手机的进一步操做来验证上一小节中的内容,好比点击HOME键或返回键来观察LogCat中的日志记录。code

图4-2  Activity启动时所经历的事件orm

图4-3  利用Tag标签过滤LogCat中的信息htm


图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,向做者直接提问交流!

相关文章
相关标签/搜索