《Android程序设计教程》课件第三章 Android应用程序_第1页
《Android程序设计教程》课件第三章 Android应用程序_第2页
《Android程序设计教程》课件第三章 Android应用程序_第3页
《Android程序设计教程》课件第三章 Android应用程序_第4页
《Android程序设计教程》课件第三章 Android应用程序_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

第3章Android应用程序目录Android四大组件Android应用程序生命周期Android程序调试Android应用程序权限学习目标了解Android四大组件掌握Android生命周期掌握Android程序调试了解Android应用程序权限3.1Android四大组件3.1.1ActivityActivity是Android程序中最常用的组件,是应用程序的表示层,显示可视化的用户界面,接收与用户交互所产生的界面事件。一个Activity代表一个单独的屏幕,在其上可以添加多个用户界面控件,如Button、TextView、EditView等Activity一般通过View来实现应用程序的用户界面,相当与一个屏幕,用户与程序的交互是通过该类实现的。用户从一个屏幕切换到另一个屏幕的过程也是从一个Activity切换到另一个Activity的过程。3.1.2ServiceService一般用于没有用户界面,但需要长时间在后台运行的应用。实际上,Service是一个具有较长的生命周期但是并没有用户界面的程序。例如播放MP3音乐。Service一般由Activity启动,但是并不依赖于Activity,即当Activity的生命周期结束时,Service仍然会继续运行,直到自己的生命周期结束为止。3.1.3BroadcaseReceiverBroadcastReceiver是为用户接收并响应广播消息的组件,与Service一样没有界面,它唯一的作用是接收并响应消息。ContentProvider是用来实现应用程序之间数据共享的类。3.2Android生命周期Android程序生命周期是指Android程序中进程从启动到终止的所有阶段,即Android程序从启动到停止的全过程。Android系统中的进程优先级从高到低分别为前台进程、可见进程、服务进程、后台进程和空进程。前台进程指与用户正在交互的进程,是Android系统中最重要的进程。前台进程具有最高优先级,通常前台进程的数量很少,几乎不会被系统终止,只有当内存极低以致无法保证所有的前台进程同时运行时,系统才会终止某个前台进程。前台进程主要有以下情况:(1)进程中包含处于前台的正与用户交互的Activity;(2)进程中包含与前台Activity绑定的Service;。(3)进程中包含调用了startForeground()方法的Service;(4)进程中包含正在执行onCreate()、onStart()或onDestory()方法的Service;(5)进程中包含正在执行onReceive()方法的BroadcastReceiver。可见进程指部分程序界面能够被用户看见,却不在前台与用户交互,不响应界面事件的进程。可见进程包括:(1)进程中包含处于暂停状态的Activity,即调用了onPause()方法的Activity;(2)进程中包含绑定到暂停状态Activity的Service;。服务进程:包含已启动服务的进程就是服务进程。服务没有用户界面,不与用户直接交互,但能够在后台长期运行,提供用户关心的重要功能,如播放MP3文件或从网络下载数据。后台进程:如果一个进程不包含任何已启动的服务,且没有任何用户可见的Activity,则它就是一个后台进程。一般情况下,Android系统中存在较多的后台进程,在系统资源紧张时,系统将优先清除用户较长时间没有见到的后台进程。空进程:不包含任何活跃组件的进程,例如一个仅有Activity组件的进程,当用户关闭这个Activity后,该进程就成为空进程。空进程在系统资源紧张时会首先清除。3.2.2Activity生命周期Activity生命周期指Activity从启动到销毁的过程,在这个过程中,Activity一般表现为4种状态,分别是活动状态、暂停状态、停止状态和非活动状态。1.活动状态:是指当Activity在用户界面中处于最上层,用户完全看得到,能够与用户进行交互,则这时Activity处于活动状态。2.暂停状态:是指当Activity在界面上被部分遮挡,该Activity不再处于用户界面的最上层,且不能够与用户进行交互,则这个Activity处于暂停状态。3.停止状态:是指Activity在界面上完全不能被用户看到,也就是说这个Activity被其他Activity全部遮挡,则这个Activity处于停止状态。4.非活动状态:是指Activity所处的不在以上三种状态中的另一种状态。Activity启动后处于活动状态,此时的Activity处于最上层,是与用户正在进行交互的组件,因此Android系统会努力保证处于活动状态Activity的资源需求,资源紧张时可终止其他状态的Activity;如果用户启动了新的Activity,部分遮挡了当前的Activity,或新的Activity是半透明的,则当前的Activity转换为暂停状态,Android系统仅在为处于活动状态的Activity释放资源时才终止处于暂停状态的Activity;如果用户启动新的Activity完全遮挡了当前的Activity,则当前的Activity转变为停止状态,停止状态的Activity将优先被终止;活动状态的Activity被用户关闭后,或暂停状态或停止状态的Activity被系统终止后,Activity便进入了非活动状态。3.3Android程序调试Android系统提供了LogCat调试工具,用于定位、分析及修复程序中出现的错误。在Logcat的操作栏上,有一个下拉选项,里面包含Assert(断言信息)、Debug(调试信息)、Error(错误信息)、Info(通告信息)、Verbose(详细信息)、Warning(警告信息)等六个日志信息选项Log.v()用来记录详细信息,Log.d()用来记录调试信息,Log.i()用来记录通告信息,Log.w()用来记录警告信息,Log.e()用来记录通错误信息3.4Android应用程序权限Android系统提供了丰富的SDK,开发人员可以根据其SDK开发Android中的应用程序。而应用程序对Android系统资源的访问需要有相应的访问权限,这个权限就是Android应用程序权限。3.4.1AndroidManifest.xml清单文件AndroidManifest.xml清单文件是整个Android应用程序的全局描述配置文件,也是每一个Android应用程序必须有,且放在根目录下的文件。AndroidManifest.xml清单文件对该应用的名称、所使用的图标以及所包含的组件等信息进行描述和说明。AndroidManifest.xml文件通常包含以下几项信息:声明应用程序的包名,包名是用来标识应用程序的唯一标识。描述应用程序组件,包括组成应用程序的Activity、Service、BroadcastReceiver和ContentProvider等,以及每个组件的实现类和其细节属性。确定宿主应用组件进程。声明应用程序拥有的权限,使其可以使用API保护的内容与其应用程序所需的权限,同时声明了与其他应用程序组件交互所需权限。声明应用程序所需要的AndroidAPI的最低版本。列举应用程序所需要链接的库。3.4.2Android权限机制Android系统现在将所有的权限归成了两类,一类是普通权限,一类是危险权限。普通权限指的是那些不会直接威胁到用户的安全和隐私的权限,对于这部分权限申请,系统会自动帮我们进行授权,而不需要用户再去手动操作了。危险权限则表示那些可能会触及用户隐私或者对设备安全性造成影响的权限,如获取设备联系人信息、定位设备的地理位置等,对于这部分权限申请,必须要用户手动点击授权才可以,否则程序就无法使用相应的功能。Android普通权限的申请,是将权限声明的语句放置在</manifest>标签之前就可以了。例如,当某个应用程序需要添加发送短信的权限时,申请代码如下:<?xmlversion="1.0"encoding="utf-8"?><manifestxmlns:android="/apk/res/android"package="com.example.xsc.runtimepermission">……<uses-permissionandroid:name="android.permission.SEND_SMS"/></manifest>在Android系统中,一共定义了100多种p

温馨提示

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

评论

0/150

提交评论