![Android应用程序架构_第1页](http://file4.renrendoc.com/view11/M03/01/36/wKhkGWX2RUCAaPOPAACBM4XS2Vw221.jpg)
![Android应用程序架构_第2页](http://file4.renrendoc.com/view11/M03/01/36/wKhkGWX2RUCAaPOPAACBM4XS2Vw2212.jpg)
![Android应用程序架构_第3页](http://file4.renrendoc.com/view11/M03/01/36/wKhkGWX2RUCAaPOPAACBM4XS2Vw2213.jpg)
![Android应用程序架构_第4页](http://file4.renrendoc.com/view11/M03/01/36/wKhkGWX2RUCAaPOPAACBM4XS2Vw2214.jpg)
![Android应用程序架构_第5页](http://file4.renrendoc.com/view11/M03/01/36/wKhkGWX2RUCAaPOPAACBM4XS2Vw2215.jpg)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Android应用程序架构1单元目标了解Android资源文件的种类掌握资源的根本使用方法了解活动〔Activity〕组件了解效劳〔Service〕组件了解播送接收者〔BroadCastreceivers〕组件了解内容提供者〔ContentProviders〕组件掌握AndroidManifest.xml文件结构2本单元根底知识Android应用程序中的资源Android的4种应用程序组件AndroidManifest.xml文件的结构3Android应用程序中的资源任何类型的程序都要使用资源,Android应用程序使用的资源大局部都被封装在apk文件中,并随apk文件一起发布。4Android程序中的资源-存放位置EclipseADT新建工程向导生成目录结构如下:5Android程序中的资源-存放位置〔续〕在上图中,res文件夹用于存放资源,该目录下有3个子目录:drawable:它包含了icon.png,可以判断用于图像文件layout:从名称可以判断是用来保存布局文件的values:翻开其中包含的strings.xml文件可以看出,内容均为基于XML格式的key-value对,可以判断values目录是用来保存字符串资源的6Android应用程序中的资源-种类Android支持3种类型的资源:XML文件图像任意类型的资源,如音视频以上文件放在res目录的不同子目录中,编译Android应用程序时,系统会使用一个资源文件编译程序〔aapt〕对这些资源文件进行编译7Android应用程序中的资源-种类〔续〕Android支持资源列表:res\anim:用于存放帧动画或补间动画文件res\drawable:可以存放多种格式的图像文件,例如,bmp、png、gif等,目录中的图像不需要分辨率非常高,aapt工具会优化该目录中的图像文件res\layout:该目录用于存放XML布局文件res\values:使用该目录下XML文件的内容作为资源,这些文件定义了各种类型的key-value对,根据不同的标签定义不同类型的key-value对。例如,通过<string>标签定义字符串key-value对,通过<color>标签定义颜色值的key-value对8Android应用程序中的资源-种类〔续〕Android支持资源列表:res\xml:该目录中的文件可以是任意类型的XML文件,这些XML文件可以在运行时被读取res\raw:该文件也被封装在apk文件中,但不会被编译,可以存放任意类型的文件在任一个目录中放入资源文件后,ADT会在gen目录中建立一个R.java文件,该文件为一个R类,该类为每一个资源定义了唯一的ID,通过这些ID可以引用这些资源9Android应用程序的资源-使用方法在HelloWorld例如中,R.java内容如下:publicfinalclassR{ publicstaticfinalclassdrawable{ publicstaticfinalinticon=0x7f020000; } publicstaticfinalclasslayout{ publicstaticfinalintmai=0x7f030000; } publicstaticfinalclassstring{ publicstaticfinalinthello=0x7f040000; publicstaticfinalintapp_name=0x7f040001; }}10Android应用程序的资源-使用方法〔续〕在HelloWorld例如中,通过R.java文件内容,可以看出ADT为res目录中每一个子目录或标签都生成了一个静态子类,同样,它也为XML布局文件中指定id属性的组件生成了唯一的ID,并封装在id子类中,这样,在Android应用程序中就可以通过ID使用这些组件11Android应用程序的资源-使用方法〔续〕资源既可以在程序的代码中使用,也可以在XML文件中使用应用程序Java代码中:setTitle(R.string.app_name),可以看到在使用资源时直接引用了这个ID值,直接使用0x7f040001也可以,但为了使程序更容易维护,一般会直接使用在R的内嵌类中定义的变量名XML文件中:android:text=“@string/hello”,其中hello就是资源文件string.xml中的一个字符串12Android应用程序组件Android应用程序中最核心的特性就是可以调用其他应用程序的资源。例如:如果应用程序恰好需要一个显示图像列表的功能,而另一个应用程序正好有这个功能,只需要调用这个应用程序中的图像列表功能即可。Android如何实现这个特性?这与Android的组件设计密不可分Android应用程序没有一个单独的入口点,它是由一系列组件组成,在需要时,系统可以单独实例化它们Android有四种类型的组件13Android应用程序组件-活动组件一个活动代表了一个可视化用户界面,例如,一个活动可以是一个登录窗口。相当于C/S程序中的窗体或者Web程序的页面,每个Activity都提供了一个可视化的区域一个应用程序中可以只有一个Activity,或者包含多个,这完全取决于应用程序设计者。典型情况下,当用户启动程序时,总有一个Activity显示给用户通常,当前Activity负责启动下一个Actitity,来完成从一个Activity到另一个Activity的转变14Android应用程序组件-活动组件〔续〕一个窗体的真实内容由从View基类继承而来的视图负责呈现。每个视图都控制着窗体中的一块长方形区域父视图包含和组织了它们孩子视图的布局显示在长方形的最底层视图负责控制和响应用户的操作
例如,一个视图可以显示一个小的图像,并且当用户点击图像是做出响应Android有一系列真实的视图-包括了按钮、文本输入框、滚动条、菜单、复选框等15Android应用程序组件-效劳组件效劳没有可视化界面,但可以在后台运行。例如,当用户关注其他事情时,后台音乐的播放。每个效劳都需要继承Service基类其他程序可以通过某个效劳暴露出的接口来连接运行中的效劳,比方在音乐效劳中,可以通过其暴露的接口来暂停、重播、停止像活动和其他组件一样,效劳运行在应用程序进程的主线程上,所以它们不会阻碍其他组件或者用户界面,它们经常生成其他线程来进行消耗时间的任务16Android应用程序组件-播送接收者组件播送接收者的唯一作用就是接收播送通知,并对此做出响应大多数播送来源自系统,例如,时区改变的播送通知、电池电量缺乏、用户改变了语言等应用程序可以初始化播送,例如,通知其他应用程序数据已经下载完毕可用了应用程序可以使用多个播送接收者来响应任何它觉得重要的通知,所有播送接收者都继承自BroadcastReceiver基类17Android应用程序组件-播送接收者组件播送接收者没有用户界面,但是可以在接收播送后启动Activity,或者可以使用NotificationManager来通知用户。通知可以用各种方式,闪屏、振动、播放音乐等。大多数情况下,在状态栏放置一个图标,通过该图标用户可以获得通知消息18Android应用程序组件-内容提供者组件内容提供者可以为其他应用程序提供数据。这些数据可以保存在文件系统中,在SQLite数据库中,或者其他方式保存内容提供者继承了ContentProvider基类,来实现一系列标准的方法让其他应用程序可以获取和存储内容提供者支持的数据,但是应用程序不能够直接调用这些方法,而是通过调用ContentResolver对象的方法来读写19AndroidManifest.xml文件每一个应用程序都必须在根目录有一个名为AndroidManifest.xml的文件,这个清单文件告诉了系统该应用程序的相关信息,清单文件相关作用如下:定义应用程序的Java包,这个包名将作为应用程序的唯一标识定义应用程序的四个组件-活动、效劳、播送接收者、内容提供者。定义的信息主要是与组件对应的类名以及这些组件所具有的能力决定了哪个Activity将作为第一个运行的Activity20AndroidManifest.xml文件〔续〕AndroidManifest.xml清单文件相关作用如下〔续〕:声明了为了访问API中受保护的部份以及与其他应用
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 转专业申请书范文
- DB61T-油菜苗情监测技术规范编制说明
- DB13JT-园林盐碱土壤生物修复标准
- 初级公司信贷-初级银行从业资格考试《公司信贷》押题密卷6
- 请假申请书范文
- 2024-2025学年广东省深圳市龙岗区高一(上)期末地理试卷
- 第三章效用论习题+答案
- DB2111-T 0022-2023 水稻钵苗机械化栽培技术规程
- 经济三资管理合同(2篇)
- 山东省烟台市2024-2025学年高三上学期期末考试物理试题
- 学校食堂餐厅管理者食堂安全考试题附答案
- 同等学力英语申硕考试词汇(第六版大纲)电子版
- 中日合同范本
- T-CARM 002-2023 康复医院建设标准
- 第八版神经病学配套课件-12-中枢神经系统感染性疾病
- 污水管网计算说明书
- 15MW风力发电机
- 正面管教 读书分享(课堂PPT)
- 肌肉注射流程
- 互联网销售卷烟(烟草)案件的分析
- 公务员考察政审表样本
评论
0/150
提交评论