- 1、本文档共17页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
1.Android应用程序框架思路整理
一.一般Android应用程序架构
普通的应用程序由于只需要用到Android的联网与显示的功能,所以应用程序大体上是呈现为UI(Activities)与网络(Network)等其他模块进行绑定,数据交互的应用程序。
优点: (1)此种是一种通用的类J2ME的应用开发模式,被开发者所熟悉,可以很快上手。
(2)应用比较灵活,小型。
(3)可以满足大部分基于网络数据获取的应用程序。
缺点: (1)不能监控到系统广播服务
(2)不能提供Open API供其他应用程序进行交互
(3)所有模块(如网络等)的生命周期依赖于其所属的Activity的生命周期。
二.Android提供的四大应用程序组件
接下来介绍一下Android提供的四个通用的应用程序组件以及其职责。
Activity:
应用程序的入口
界面显示,接收事件(如按键),控制显示跳转。
BroadcastReceiver:
用于注册和接收系统广播的事件
可接收自定义的广播事件。
ContentProvider:
提供数据库查询接口
可对外(其他应用程序)公开数据查询服务。
Service:
是一个独立的进程,可一直在后台运行。
可以与其他组件(如Acitivity,Service,ContentProvider)通过远程连接绑定(bind)进行交互。
可对外(其他应用程序)提供服务交互接口。
生命周期不依赖于其他组件的存在与否。
三.Service与Acitivity进行交互
Service与其他组件进行通讯是通过AIDL远程接口进行绑定之后进行通信,分别在不同的组件内部创建不同的接口的实现类,通过服务连接器进行交互(ServiceConnection)此种方式可用于不同进程间进行交互,相对比较麻烦一些。
三.Android手机心脏适用的应用程序框架思路
由上图可看出,心脏应用程序框架主要分为三层:UI层(Activities层),调度层(Dispatch层)和应用服务层(Services层)。(比较类似于MVC的设计模式)
相对于一般框架的区别
(1)引入了Android提供的其他两大组件:服务(Service)和广播接收器(Receiver),用于在后台一直运行一些监控程序(类似于symbian心脏中的WatchEngine.exe)和接收系统事件。
(2)提供了对外部应用程序访问的接口,有助于手机心脏将来为其他应用程序提供平台与服务。
三层结构的职责归属与交互方式
层次 组成 职责 与其他层次交互模式 UI层 Activities,Views 负责应用程序UI显示
负责进行跳转
与调度层进行交互
负责控制调度层对服务进行管理 只能与调度层进行交互,不可见服务层。 调度层 由服务管理模块,服务绑定模块,
消息转发模块,
异常通知模块组成 负责与后台服务的绑定与通信
负责处理UI层的请求
负责管理服务层相关服务
负责管理应用程序的异常输出。 与UI层通过本地接口进行交互。
与应用服务层通过远程接口AIDL进行通信。 应用服务层 由Service,Receiver,ContentProvider组成 负责与系统进行通信。
负责监控系统行为并处理。
负责与调度层进行消息通信。 与调度层通过远程接口AIDL进行通信,返回计算结果/事件等。 优点与缺点
优点: (1)充分利用Android平台提供的组件达到使用需求(如监控系统事件,保持服务一直运行等),更本地化。
(2)可以应用系统性比较强的应用程序。
缺点: (1)AIDL进行交互比较繁琐。
四.Android项目的目录结构
首先启动Eclipse,展开Package Explorer导航器中的hello项目,如图3-1所示。
与一般的Java项目一样,src文件夹是项目的所有包及源文件(.java),res文件夹中则包含了项目中的所有资源,比如:程序图标(drawable)、布局文件(layout)、常量(values)等。下面来介绍其他Java项目中没有的的gen文件夹中的R.java文件和每个Android项目都必须有的AndroidManfest.xml文件。
R.java是在建立项目时自动生成的,这个文件是只读模式,不能更改,R.java文件是定义该项目所有资源的索引文件。先来看看hello项目的R.java文件,如代码清单3-1所示。
代码清单3-1 R.java
可以看到这里定义了很多常量,仔细一看就发现这些常量的名字都与res文件夹中的文件名相同,这再次证明R.java文件中所存储的是该项目所有资源的索引。有了这个文件,在程序中使用资源将变得更加方便,可以很快地找到要使用的资源,由于这个文件不能被手动编辑,所以当我们在项目中加入了新的资源时,只需要刷新一
您可能关注的文档
- 2000元内大屏智能手机推荐 小米领衔.doc
- 2003年1-4月电子信息产业经济运行分析.doc
- 2005年下半年600种主要消费品供求趋势分析报告.doc
- 2007年国家级经济技术开发区实际使用外资金额情况表.doc
- 2007年全国普通高等学校招生考试湖南语文卷评分细则及答案详解.doc
- 2008 年浏览量较预期增加 - 网上填问卷.doc
- 2008年度沈阳经济技术开发区安全生产教育培训工作计划.doc
- 2009环评工程师考试案例分析.doc
- 2009环评工程师考试案例分析(贾)[1].doc
- 2009级_电气工程与自动化.doc
- 智能教育助手在初中化学实验探究中的个性化学习支持系统研究教学研究课题报告.docx
- 民间剪纸艺术与初中美术教学融合的创新路径与效果评估教学研究课题报告.docx
- 2024计算机四级能力提升B卷题库含答案详解(培优).docx
- 2024计算机四级能力提升B卷题库含答案详解(培优B卷).docx
- 《生活化教学在小学品德与社会课程中的文化传承教育》教学研究课题报告.docx
- 小学数学:家乡特色美食计量与数学应用研究教学研究课题报告.docx
- 《肾病综合征患者免疫抑制剂治疗过程中的药物浓度监测与疗效评估》教学研究课题报告.docx
- 《重症监护病房肠内营养支持在患者营养治疗过程中的营养治疗干预基础研究》教学研究课题报告.docx
- 高中生物教学中学生生物实验设计与分析能力与创新能力培养的实践研究教学研究课题报告.docx
- 2024计算机四级能力提升B卷题库含答案详解【综合卷】.docx
最近下载
- 人教PEP版小学英语五年级 下册(1-6单元)思维导图.pdf
- 国际金融附微课杜玉兰习题答案.docx VIP
- 2023年大连大学计算机科学与技术专业《计算机系统结构》科目期末试卷A(有答案).docx VIP
- 2023年大连大学计算机科学与技术专业《计算机网络》科目期末试卷B(有答案).docx VIP
- 知识产权法智慧树知到期末考试答案章节答案2024年同济大学.docx VIP
- 临床医学教学模式创新与课堂互动设计.pptx
- 生猪屠宰兽医卫生检验人员理论考试题库资料及答案.pdf VIP
- 天津市静海区2024-2025学年高一下学期6月学生学业能力调研试题 地理试卷含答案.docx VIP
- 有限空间安全作业技术交底.docx VIP
- 消防设施操作员(中级监控方向)理论知识考试题库(含答案解析).pdf VIP
文档评论(0)