- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Android应用的基本组成.
Android应用的基本组成
文件版本说明
文档版本 作者/修改者 日期 更 改 更改地址 更改内容 1.0 刘浏 2011-10-21 全文 翻译 注:本文档是Android Dev Guide中Application Fundamentals的翻译。原文参见:/guide/topics/fundamentals.html
Android应用是由Java编写的,Android SDK工具把Java代码(可能还和一些数据和资源文件一起)编译为一个Android应用包(apk文件)。Android设备使用这个apk文件来安装应用程序。
一旦程序被安装到Android设备上后,每个程序都会运行在一个独立的安全的沙盘中:
Android操作系统一个多用户的Linux系统。每个应用程序表示一个不同的用户。
默认情况下,系统会给每个应用程序分配一个唯一的Linux用户标识(User ID)(这些标识仅被系统使用,而应用程序自身是不知道的)。系统会为应用中的所有文件设置权限,这样只有此应用(或者具有此应用的相同User ID的应用)才能访问这些文件。
每个进程有着自己的虚拟机,因此应用程序代码在执行的时候是相互独立的。
默认情况下,每个应用在自己的 Linux进程中运行。在应用程序的任意组件需要执行的时候,Android系统会启动这个进程。当不再需要此进程(退出应用)或者系统需要为其他应用回收资源(内存等),系统会关闭此进程。
通过这样的方法,Android系统实现了最小权限原则。也就是,每个应用在默认情况下仅能访问它需要的组件。这也就创建了一个非常安全(Google自己说的)执行环境,在这个环境中,应用程序不能访问没有权限的资源。
当然,也有方法可以用来共享应用程序数据和房屋系统服务:
可以安排两个应用程序拥有相同的用户标识,这样他们可以相互访问对方的文件。为了保护系统资源,有着相同用户标识的应用程序会运行在同一个Linux进程中,也是有同一个虚拟机(这些应用程序必须有相同的证书)。
应用程序可以请求访问设备数据(包括:联系人信息,短信,SD卡,照相机等)。这些请求在安装此应用程序的时候由用户授予。
本文档包含了应用程序在Android系统中存在的基本信息,主要包括:
应用程序的核心组件
应用程序清单文件,主要包含了应用组件的声明和对设置功能的需求
独立于应用程序的资源文件(可以使得应用程序在不同的设备配置有最优的效果)
应用程序组件
应用程序组件是Android应用的主要组成。每个组件是应用不同的入口点。不是所有的组件都是给用户的入口点,有些组件会依赖于其他组件,但是,每个组件有自己的实体,并扮演一个特定的角色(每个组件是一个唯一的构建单元,用来定义应用的整体行为)。
有四种不同类型的组件,每种类型有着不同的目的,并且有着不同生命周期(组件的创建与销毁)。
下面是四种组件类型:
Activities:一个Activity表示一个单一的用户界面。例如,一个邮件应用使用一个Activity来显示新邮件列表,使用另一个Activity来撰写邮件,其他Activity来阅读邮件。虽然这些Activity一起才构成真个邮件应用,但是每一个Activity与其他的是独立的。同样的,其他应用也能够启动这些Activity。例如,一个照相机的应用可以启动一个撰写邮件的Activity来分享照片。一个activity的实现必须是Activity类的子类。
Services:一个服务(service)是一个在后台运行的并且执行长时间操作(或者执行远程访问)的组件。服务不需要提供用户界面。例如,当用户在使用其他应用的时候,一个服务可以在后台播放音乐;一个服务能够在后台获取网络数据而不打断用户操作。另外的组件,如activity,能够启动一个服务或者绑定一个服务(和服务交互)。一个服务的实现必须是Service类的子类。
Content providers:(内容提供者)一个内容提供者管理了一个共享的数据集合。这些数据可以保存在文件系统、SQLite数据库、网站或者其他存储介质中。通过内容提供者,其他应用程序能够查询甚至修改(如果允许修改的话)这些数据。例如,Android系统实现了一个内容提供者来管理联系人信息。这样,经过授权的应用可以通过这个内容提供者来读取或者修改特定联系人的信息。内容提供者对于读取和写入非共享数据也很有用。例如,Note Pad的实例程序使用一个内容提供者来保存笔记。一个内容提供者的实现必须是?ContentProvider?的子类,并且必须实现一个标准的API集合(实现事务)。
Broadcast recerivers:(广播接收器)一个广
您可能关注的文档
最近下载
- GB51128-2015 钢铁企业煤气储存和输配系统设计规范.docx VIP
- 2025年康复治疗师《认知功能评定》经典案例分析习题库.doc VIP
- 环境保护法精简课件.doc VIP
- 学生伤害事故处理办法.pptx VIP
- 2025年康复治疗师《疼痛评定》常用量表与习题习题库.doc VIP
- 第二单元《和声的力量》第1课时《学习项目一 原位和弦的构成与变体》课件 人教版八年级音乐上册.pptx VIP
- 2025年康复治疗师《肌力与肌张力评定》核心技能习题库.doc VIP
- 粮食烘干培训课件.ppt VIP
- 2025年康复治疗师《呼吸训练技术》核心考点习题库.doc VIP
- GB51128-2015 钢铁企业煤气储存和输配系统设计规范 (2).pdf VIP
文档评论(0)