23 Android应用程序架构-从此开始.doc_第1页
23 Android应用程序架构-从此开始.doc_第2页
23 Android应用程序架构-从此开始.doc_第3页
23 Android应用程序架构-从此开始.doc_第4页
23 Android应用程序架构-从此开始.doc_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2.3 Android应用程序架构-从此开始(1)让我们回过头来看看刚才Android项目建立向导帮忙做了哪些工作,以此来了解Android应用程序的生命周期及其文件组成方式;首先,展开Package Explorer窗口里的HelloWorld项目名称,可以看见如下数据结构的文件:1. +HelloWorld 2. +-src 3. +- 4. +-HelloWorld.java 5. +-R.java 6. +-AndroidLibrary 7. +-android.jar-D:SDKandroid 8. +-assets 9. +-res 10. +-drawable 11. +-icon.png 12. +-layout 13. +-main.xml 14. +-values 15. +-strings.xml 16. +-AndroidManifest.xml在展开的文件夹层中,src、Android Library、assets、res与AndroidManifest.xml同属一层,放置在src里的为主程序、程序类(class);放置在res里的为资源文件(Resource Files),如程序ICON图标、布局文件(layout)与常数(values)。以此Hello World程序为例,主程序为HelloWorld.java,其内容与一般Java程序格式相类似:1. ; 2. 3. importandroid.app.Activity; 4. importandroid.os.Bundle; 5. 6. publicclassHelloWorldextendsActivity 7. 8. /*Calledwhentheactivityisfirstcreated.*/9. Override10. publicvoidonCreate(BundlesavedInstanceState) 11. 12. super.onCreate(savedInstanceState); 13. setContentView(R.layout.main); 14. 15. 主程序里可看见HelloWorld类继承自Activity类,在类中重写了onCreate() 方法,在方法内以setContentView() 来设置这个Acvitity要显示的布局(R.layout.main),使用布局配置layoutmain.xml,布局文件是以XML格式编写的,内容如下:1. 2. 8. 13. 布局配置中设置了一个TextView TAG,用以配置文本标签Widget,其内部设置的android:text属性,则是要显示的文字内容,引用string里的hello字符串常数。查看values/strings.xml字符串常数设置如下:1. 2. 3. HelloWorld,HelloWorld 4. HelloWorld 5. 其中hello字符串变量的内容为Hello World, HelloWorld,这即是刚才看见的Hello World程序显示的文字内容了。Android应用程序有以下三种类型:前端Activity(Foreground Activities)。后台服务(Background Services)。间隔执行Activity(Intermittent Activities)。前端Activity就如同这个Hello World一样,运行在手机前端程序中;后台服务可能是看不见的系统服务(System Service)、系统Broadcast(广播信息)与Receiver(广播信息)接收器);间隔执行Activity则类似如进程(Threading)、Notification Manager等等。每一个项目都有一个AndroidManifest.xml设置文件,里头包含这个Android应用程序具有哪些Activity、Service或者Receiver,先来看看Hello World制作好的AndroidManifest.xml设置文件的内容描述:1. 2. 7. 10. 13. 14. 15. 16. 17. 18. 19. 2.3 Android应用程序架构-从此开始(2)在manifest文件中有一个名为HelloWorld的Activity,设置其intent-filter的category android:name为ent.category.LAUNCHER,写在intent-filter里是指定此Activity为默认运行的主要Activity,除了在manifest文件中手动设置之外,也可在Eclipse右击项目名称,运行Run As-Run Configurations,设置Launch Action:(点击查看大图)图2-14 设置项目要执行的Action方式或ActivityActivity类的应用程序有其默认运行的方式,为了确保应用程序运行的优先级,理解Activity在手机运行时的生命周期,及其可视性(Visible)周期。(点击查看大图)图2-15 Activity自onStop之后,程序即可被关闭以Hello World程序里继承自Activitry类开始,一旦程序被执行,即会照以上流程顺序进行,若需要在Activity程序里编写程序,默认常见的进入点为重写onCreate(Activity)或onStart(Service),重写的方式可通过Eclipse来选择,方法为将鼠标光标停在继承自Activity的空白处,单击鼠标右键展开菜单,点开执行Source-Override/Implement Methods功能。(点击查看大图)图2-16 执行Source-Override/Implement Methods功能在重写于实现方法的对话框中,点开Activity树状列表,在其中找到了onCreate(Bundle)方法,勾选前方的选择项(CheckBox),再按下OK按钮即可。(点击查看大图)图2-17 选择要重写的方法,向导会自动在主程序中描述重写内容最后,比较值得一提的是onResume() 与onPause(),这两个方法为Activity在onCreate之后运行过程中的生命周期,当程序失去前端焦点、或者被关闭,就会触发Activity的onPause() 状态;当应用程序被再次唤醒,则会回到onResume() 状态,故在编写与User互动的程序过程中,需

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论