2022年Android架构简介 .pdf

上传人:C****o 文档编号:39726906 上传时间:2022-09-07 格式:PDF 页数:9 大小:626.33KB
返回 下载 相关 举报
2022年Android架构简介 .pdf_第1页
第1页 / 共9页
2022年Android架构简介 .pdf_第2页
第2页 / 共9页
点击查看更多>>
资源描述

《2022年Android架构简介 .pdf》由会员分享,可在线阅读,更多相关《2022年Android架构简介 .pdf(9页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、Android 架构 简介admin 发布于 2009-08-07 at 10:54|标签:AndroidAndroid 是一种基于 Linux?V2.6 内核的综合操作环境。最初,Android 的部署目标是移动电话领域,包括智能电话和更廉价的翻盖手机。但是,Android 全面的计算服务和丰富的功能支持完全有能力扩展到移动电话市场以外。Android 也可以用于其他的平台和应用程序。在本文中,阅读对 Android 平台的简介,并学习如何编写基本的 Android 应用程序。简介黑 莓和 iPhone 都提供了受欢迎的、高容量的移动平台,但是却分别针对两个不同的消费群体。黑莓是企业业务用户

2、的不二选择。但是,作为一种消费设备,它在易用性和“新奇特性”方面难以和 iPhone 抗衡。Android 则是一个年轻的、有待开发的平台,它有潜力同时涵盖移动电话的两个不同消费群体,甚至可能缩小工作和娱乐之间的差别如今,很多基 于网络或有网络支持的设备都运行某种 Linux 内核。这是一种可靠的平台:可经济有效地进行部署和提供支持,并且可直接作为面向部署的良好的设计方法。这些设备的 UI 通常是基于 HTML 的,可通过 PC 或 Mac 浏览器查看。但并不是每个设备都需要通过一个常规的计算设备来控制。想象一下传统的家用电器,例如电炉、微波炉或面包机。如果您的家用电器由 Android 控制

3、,并且有一个彩色触摸屏,会怎 么样?如果电炉 上有一个 Android UI,那么操控者甚至可以 烹饪点什么东西。在本文中,了 解 Android 平台,以及如何将它用于移动和 非移动应用程序。安装 Android SDK,并构 建一个简 单的应用程序。下 载 本文中的 示例应用程序的 源代码。Android 简史Android 平台是 Op en Handset A ll iance 的成果,Op en Handset A ll iance 组织由一群 共同致力于构 建更好的移动电话的 公司组成。这个 组织由 G oogl e 领导,包括移动运 营商、手持设备制 造商、零部件制造商、软件解决

4、 方案和平台提供 商以及市场营销公司。从软件开发的观点看,Android 正处在开源领域的中 心位置。市 场上第一款支持 Android 的手机是由 HTC 制 造并由 T-Mobi l e 供应的 G 1。这款设备从设想到 推出花 了大约一年的时间,惟一可用的 软件开发工具是一些 实行增量改进的 SDK 发行版。随着 G 1 发行日的临近,Android 团队发布了 SDK V1.0,用于这个新平台的应用程序也浮出水 面。为了鼓励创 新,G oogl e 举办了两届“Android Devel oper Cha ll enges”,为 优胜的参赛作品提供数百万美金 的奖励。G 1 问世几 个

5、月之后,随后就 发布了 Android Mar ket,它使用户可以浏览应用程序,并且可以将应用程序直接下 载到他们的手机 上。经过 大约 18 个月,一个新的移动平台进 入公众 领域。Android 平台Android 有丰富的功能,因此很容易 与桌面操作 系统混淆。Android 是一个分层的环境,构建在 Linux 内核的基础上,它包括丰富的功能。UI 子系统包括:窗口视图名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 9 页 -用于显示一些常 见组件(例如编 辑框、列表和下拉列表)的小部 件Android 包括一个构建在 W ebKit 基础上的可嵌入浏览器,iPhone

6、 的 Mo bi l e Saf ari 浏览器同样也是以 W ebKit 为基础。Android 提供多种连接选项,包括 W i Fi、蓝牙和通过蜂窝(cell ul ar)连接的无线数据 传输(例如 G PRS、EDGE 和 3G)。Android 应用程序中一 项流行的技术是链接到 G oogl e 地图,以便在应用程序中 显示地址。Android 软件栈还 提供对基于 位置的服务(例如 G PS)和加速计的支持,不过并不是 所有的 Android 设备都配备了必需的硬件。另外还有摄像支持。过去,移动应用程序 努 力向桌面应用程序看 齐的两个领域分别是 图形/媒体和数据存储 方法。And

7、roid 通过提供对 2 D 和 3D 图形的内置支持,包括 Op enG L 库,解决了图形方面的挑战。由于 Android 平台包括流行的开 源 SQ Lite 数据库,因此缓解 了数据存储 的负担。图 1 显示一个简 化的 Android 软件层次结 构。图 1.Android 软件层次结 构应用程序架构如 前所述,Android 运行在 Linux 内核 上。Android 应用程序是用 Java 编程语言编写的,它们在一个 虚拟机(VM)中运行。需要 注意的是,这个 VM 并 非您想象中的 JVM,而是 D alv i k Virtual Machine,这是一种开 源技术。每个 A

8、ndroid 应用程序都在 Dalv i k VM 的一个实例中运行,这个 实例驻留在一个由 Linux 内核 管理的进程中,如下 图所示。图 2.Dalv i k VM名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 9 页 -Android 应用程序由一个或多个 组件组成:活动具有可视 UI 的应用程序是用 活动实现的。当用户从主屏幕或应用程序 启动器选择一个应用程序时,就会开始一个动作。服务服务应 该用于任何需要持 续较长 时间的应用程序,例如网络监视器或更新 检查应用程序。内容提供程序可 以将内容提供程序看作 数据库 服务器。内容提供程序的 任务是管理对持久数据 的访问,例

9、如 SQ Lite 数据库。如果应用程序 非常简单,那么可能不需要 创建内容提供程序。如果要构建一个较大的应用程序,或 者构建需要为多个 活动或应用程序提供 数据的应用程序,那么可以使用内容提供程序 实现数据访问。广播接收器Android 应用程序可用于 处理一个数据元素,或者对一个事件(例如接 收文本消 息)做出响应。Android 应用程序是连同一个 AndroidMani f est.xm l 文件一起部署到设备的。AndroidMani f est.xm l 包含必要的配置信息,以便将它适当地安装到设备。它包括 必需的类名和应用程序能 够处理 的事件类型,以及运行应用程序 所需的许可。

10、例如,如果应用程序需要访 问网络 例如为了下 载一个文 件 那么 mani f est 文件中必须显式 地列出该许 可。很多应用程序可能 启用了这个特 定的许可。这种 声明式安 全性有 助于减少恶意 应用程序 损害设备的可能性。下一节讨论 构建 Android 应用程序所需的开发环境。所需的工 具开始开发 Android 应用程序的最简 捷的方式是下载 Android SDK 和 Ecl i pse I DE(参见参考资料)。Android 开发可以在 Microsof t?W indo ws?、Mac OSX 或 Linux 上进行。本 文假设您使用的是 Ecl i pse I DE 和用于

11、 Ecl i pse 的 Android D evel oper Too ls插件。Android 应用程序是用 Java 语言编写的,但是是在 Dalv i k VM(非 Java 虚拟机)中编译和执行的。在 Ecl i pse 中用 Java 语言编程非常简单;Ecl i pse 提供一个丰富的 Java 环境,包括 上下文敏感帮 助和代码提示。Java 代码通过编 译后,Android Devel oper Too ls可确保适当地将它打包,包括 AndroidMani f est.xm l 文件。虽然没 有 Ecl i pse 和 Android Devel oper Too ls插件

12、也可以开发 Android 应用程序,但是那样就 需要熟悉 Android SDK。Android SDK 是作为一个 ZIP 文件发布的,可以 将该文件解压到硬盘上的一个目 录中。由于有多个 SDK 更新,建议有意识地组织开发环境,以 便在不同的 SDK安装之间轻 松地切换。SDK 包括:android.j arJava 归档文件,其中包 含构建应用程序 所需的所有的 Android SDK类。documention.htm l 和 doc s 目录本地和网 上提供的 SDK 文档。这些文 档的主要形式为 JavaD ocs,以便于在 SDK 中导航大量的包。文 档还包括一个高 级开发指南和

13、 Android 社区的链接。名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 9 页 -Sam pl es 目录sam pl es 子目录包含各种应用程序的 源代码,包括 Api Demo,该应用程序 演示了很多 API。这个示例应用程序可以作为 Android 应用程序开发的良好起点。Tools 目录包含所有用于构 建 Android 应用程序的命令行工具。最常用、最有用的工 具是 adb 实用程序(Android D ebug Brid ge)。usb_dri ver该目录包含将开发环境 连接到支持 Android 的设备(例如 G 1 或 Android Dev 1 解锁开

14、发手机)所需的驱动程序。只有 W indo ws 平台的开发 人员才 需要这些文 件。Android 应用程序可以在 实际的设备 上运行,也可以在 Android SDK附带的 Android Emu l ator 上运行。图 3 显示 Android Emu l ator 的主屏幕。图 3.Android Emu l atorAndroid Debug Brid ge名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 9 页 -adb 实用程序支持一些可选 命令行参数,以提供 强大的特性,例如 复制文件到设备或 从设备复制文件。可以 使用 shell命令行参数连 接到手机本 身,并

15、发 送基本的 shell命令。图 4 显示在通过 USB 线连接到 W indo ws 笔记本电脑的一个 实际设备上运行的 adb shell命令。图 4.使用 adb shell命令在这个 shell 环境中,可以:显示网络配置,网络配置可显示多个网络 连接。注意这多个网络 连接:l o 是本地或 l oopback 连接。ti wlan0 是 W i Fi 连接,该连接由本地 D HCP 服务器提供一个地 址。显示 PATH 环境变量的内容。执行 su 命令,以成为超级用户。将目录改为/data/app,其中 存放用户应用程序。列出包含某个应用程序的目 录。Android 应用程序文件实际

16、上是归档文件,可通过 W in Zi p之类的软件查看。扩展 名为 a pk。发出 pin g 命令,查看 G oogl 是否可用。从相同的命令提示符环境中,还可以与 SQ Lite 数据库 交互,启动程序以 及执行许多其他 系统级任务。想 像一下您 正在连接到电话,因此这是非常了不 起的功能。在下一 节,您将创建一个简 单的 Android 应用程序。编写一个基本的应用程序本节展示如何构 建一个 Android 应用程序。示例应用程序 非常简单:一个 修改后的“He ll o Android”应用程序。您将进行一个微小的 修改,使屏幕背景全部变为白色,以 便把手机用作手电 筒。这个例 子不是

17、很有 创意,但是可以作为一个有用的例子。请 下载 完整的源代码。为了在 Ecl i pse 中创建应用程序,选择 Fi l e New Android proj ect,这将启动 N ewAndroid Pro j ect 向导。名师资料总结-精品资料欢迎下载-名师精心整理-第 5 页,共 9 页 -图 5.New Android proj ect 向导接下来,创建一个简单的应用程序,该应用程序有一个 活动,并且在 main.xml 中有一个 UI 布局。布局包含一个文本 元素,您将修改这个文本 元素,以显示 Android Fl ashLi ght。下面的 清单显示 了这个简 单的布局。清单

18、 1.Fl ashl i ght 布局在 strin gs.xml 中创建两个颜色资源。清单 2.strin gs.xml 中的颜色Android Fl ashLi ght Fl ashLi ght#FFFFFF#000000名师资料总结-精品资料欢迎下载-名师精心整理-第 6 页,共 9 页 -主屏幕布局有一个 定义为 all _white 的背景色。在 strin gs.xml 文件中,可以看到 all _white 被定义为一个 值为#FFFFFF 的 RG B 三元组,即纯白。布局包含一个 TextVie w,这实际上是一块静态 文本。它是不可编 辑的。文本 被设为黑色,并通过 gra

19、vit y 属性设为 水平居中。该应用程序有一个 名为 Fl ashLi ght.j ava 的 Java 源文件,如以下 清单所示。清单 3.Fl ashl i ght.j avapackage com.msi.fl ashl i ght;import android.app.Acti vit y;import android.o s.Bundl e;publ ic c l ass Fl ashLi ght extend s Acti vit y/*Call ed w hen the activit y i s f ir st created.*/publ ic void onCreate(

20、Bundl e savedInstance State)super.onCreate(savedIn stance State);setContentVie w(R.l ayout.main);该代码 是直接来 自 N ew Pro j ect 向导的模板代码:它是 Java 包 com.msi.fl ashl i ght 的一部分。它有两个 import:一个用于 acti vit y 类一个用于 bundl e 类当该活 动发起后,onCreate 方法被调用,传 入一个 savedInstance State。对于我们来说,不必关心这个 bundl e。只有在暂停然 后恢复活动时才会用到

21、。onCreate 方法覆盖了同名的 acti vit y 类方法。它 调用超类的 onCreate 方法。对 setContentVie w()的调用将关联 main.xm l 文件中定义的 UI 布局。main.xml 和 strin gs.xml 中的任何内容都 自动映射到 R.j ava 源文件中定义的常量。任何时候都不要直接编辑这个文 件,因为它随着每次构建而改 变。运行该应用程序可以看到一个 白色屏幕,其中有黑色文本。名师资料总结-精品资料欢迎下载-名师精心整理-第 7 页,共 9 页 -图 6.fl ashl i ght 的白色屏幕下面显示用于 Fl ashLi ght 应用程序

22、的 AndroidMani f est.xm l 文件。清单 4.用于 Fl ashLi ght 的 AndroidMani f est.xm l该文件是由用于 Ecl i pse 的 Android Devel oper Too ls插件自动创建的。您不需要 做任何事情。当然,这个应用程序并不是很强大。但是如果 希望读点书,又不想打扰正在睡觉的爱人,或者如果需要在 断电时去地下室查看保险丝盒,那么这个应用程序 还是很方 便的。结束语名师资料总结-精品资料欢迎下载-名师精心整理-第 8 页,共 9 页 -在本文中,您阅读了对 Android 的简介,并构 建了一个小 型的应用程序。希望本文中的例子能激起您进一 步探索 Android 平台的兴趣。Android 有望成为对市场 产生深远影 响的开源平台,它的用 处将远远超越 移动电话。名师资料总结-精品资料欢迎下载-名师精心整理-第 9 页,共 9 页 -

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁