欢迎来到天天文库
浏览记录
ID:20344216
大小:79.00 KB
页数:7页
时间:2018-10-12
《android应用基本组成》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、Android应用的基本组成文件版本说明文档版本作者/修改者日期更改更改地址更改内容1.0刘浏2011-10-21全文翻译注:本文档是AndroidDevGuide中ApplicationFundamentals的翻译。原文参见:http://developer.android.com/guide/topics/fundamentals.htmlAndroid应用是由Java编写的,AndroidSDK工具把Java代码(可能还和一些数据和资源文件一起)编译为一个Android应用包(apk文件)。Android设备使用这个apk文件来安装应用
2、程序。一旦程序被安装到Android设备上后,每个程序都会运行在一个独立的安全的沙盘中:lAndroid操作系统一个多用户的Linux系统。每个应用程序表示一个不同的用户。l默认情况下,系统会给每个应用程序分配一个唯一的Linux用户标识(UserID)(这些标识仅被系统使用,而应用程序自身是不知道的)。系统会为应用中的所有文件设置权限,这样只有此应用(或者具有此应用的相同UserID的应用)才能访问这些文件。l每个进程有着自己的虚拟机,因此应用程序代码在执行的时候是相互独立的。l默认情况下,每个应用在自己的Linux进程中运行。在应用程序的任
3、意组件需要执行的时候,Android系统会启动这个进程。当不再需要此进程(退出应用)或者系统需要为其他应用回收资源(内存等),系统会关闭此进程。通过这样的方法,Android系统实现了最小权限原则。也就是,每个应用在默认情况下仅能访问它需要的组件。这也就创建了一个非常安全(Google自己说的)执行环境,在这个环境中,应用程序不能访问没有权限的资源。当然,也有方法可以用来共享应用程序数据和房屋系统服务:l可以安排两个应用程序拥有相同的用户标识,这样他们可以相互访问对方的文件。为了保护系统资源,有着相同用户标识的应用程序会运行在同一个Linux进
4、程中,也是有同一个虚拟机(这些应用程序必须有相同的证书)。l应用程序可以请求访问设备数据(包括:联系人信息,短信,SD卡,照相机等)。这些请求在安装此应用程序的时候由用户授予。本文档包含了应用程序在Android系统中存在的基本信息,主要包括:l应用程序的核心组件l应用程序清单文件,主要包含了应用组件的声明和对设置功能的需求l独立于应用程序的资源文件(可以使得应用程序在不同的设备配置有最优的效果)应用程序组件应用程序组件是Android应用的主要组成。每个组件是应用不同的入口点。不是所有的组件都是给用户的入口点,有些组件会依赖于其他组件,但是,
5、每个组件有自己的实体,并扮演一个特定的角色(每个组件是一个唯一的构建单元,用来定义应用的整体行为)。有四种不同类型的组件,每种类型有着不同的目的,并且有着不同生命周期(组件的创建与销毁)。下面是四种组件类型:lActivities:一个Activity表示一个单一的用户界面。例如,一个邮件应用使用一个Activity来显示新邮件列表,使用另一个Activity来撰写邮件,其他Activity来阅读邮件。虽然这些Activity一起才构成真个邮件应用,但是每一个Activity与其他的是独立的。同样的,其他应用也能够启动这些Activity。例如
6、,一个照相机的应用可以启动一个撰写邮件的Activity来分享照片。一个activity的实现必须是Activity类的子类。lServices:一个服务(service)是一个在后台运行的并且执行长时间操作(或者执行远程访问)的组件。服务不需要提供用户界面。例如,当用户在使用其他应用的时候,一个服务可以在后台播放音乐;一个服务能够在后台获取网络数据而不打断用户操作。另外的组件,如activity,能够启动一个服务或者绑定一个服务(和服务交互)。一个服务的实现必须是Service类的子类。lContentproviders:(内容提供者)一个内
7、容提供者管理了一个共享的数据集合。这些数据可以保存在文件系统、SQLite数据库、网站或者其他存储介质中。通过内容提供者,其他应用程序能够查询甚至修改(如果允许修改的话)这些数据。例如,Android系统实现了一个内容提供者来管理联系人信息。这样,经过授权的应用可以通过这个内容提供者来读取或者修改特定联系人的信息。内容提供者对于读取和写入非共享数据也很有用。例如,NotePad的实例程序使用一个内容提供者来保存笔记。一个内容提供者的实现必须是 ContentProvider 的子类,并且必须实现一个标准的API集合(实现事务)。lBroadca
8、strecerivers:(广播接收器)一个广播接收器是用来响应系统范围内广播消息的组件。许多广播消息来源于系统,例如,屏幕关闭的通知,电量低的通知,
此文档下载收益归作者所有