Microsoft Word - 第1章 Android基本概念.docx



Similar documents
Microsoft Word zw

<4D F736F F D20BBF9D3DA416E64726F6964C6BDCCA8B5C4B5E7D7D3C5C4C2F4CFB5CDB32E646F63>

Android Robert C.C. Huang Oscar F.Y. Liu Peter C.L. Hsieh 2011/03/21

2 第 章 绪 论 Internet 2.0 使 得 消 费 型 电 子 产 品 用 户 可 以 通 过 多 种 不 同 的 数 据 网 络 访 问 互 联 网 内 容 用 户 可 以 使 用 便 携 式 消 费 型 电 子 设 备, 如 智 能 手 机 触 屏 平 板 电 脑 电 子 书, 甚 至

中 文 摘 要 智 慧 型 手 機 由 於 有 強 大 的 功 能, 以 及 優 渥 的 便 利 性, 還 能 與 網 路 保 持 隨 時 的 鏈 結 與 同 步 更 新, 因 此 深 受 廣 大 消 費 者 喜 愛, 當 然, 手 機 遊 戲 也 成 為 現 代 人 不 可 或 缺 的 娛 樂 之

<4D F736F F D20B5DA32D5C2A1A2416E64726F6964BFAAB7A2BBB7BEB3B4EEBDA8>

111

目 錄 版 次 變 更 記 錄... 2 原 始 程 式 碼 類 型 之 使 用 手 冊... 3 一 安 裝 軟 體 套 件 事 前 準 備... 3 二 編 譯 流 程 說 明

Microsoft PowerPoint - 第一讲 概论.ppt

Lecture01_Android介绍

<4D F736F F D20B5DA32D5C220416E64726F6964BFAAB7A2BBB7BEB3B4EEBDA82E646F6378>

開發工具 使用 Android SDK 建立應用程式 使用 Java 語言 Java Platform, Standard Edition (Java SE)

宁夏专业技术人员服务平台

APP 103 學 年 度 嶺 東 科 技 大 學 資 訊 網 路 系 專 題 研 究 報 告 嶺 東 中 華 民 國 一 四 年 五 月 1

Android 手 机 程 序 设 计 入 门 应 用 到 精 通 内 存 1GB 硬 盘 剩 余 空 间 3GB 如 果 你 的 计 算 机 是 在 3 年 内 购 买 的 新 型 计 算 机, 应 该 能 够 符 合 以 上 的 条 件 如 果 你 的 计 算 机 是 比 较 旧 的 机 型,

Lecture01_Android介绍

Eclipse C C++, or

<4D F736F F D C4EABCC6CBE3BBFAB4F3C8FCCDA8D6AA E646F63>

Java 1 Java String Date

声 明 本 公 司 及 全 体 董 事 监 事 高 级 管 理 人 员 承 诺 不 存 在 任 何 虚 假 记 载 误 导 性 陈 述 或 重 大 遗 漏, 并 对 其 真 实 性 准 确 性 完 整 性 承 担 个 别 和 连 带 的 法 律 责 任 本 公 司 负 责 人 和 主 管 会 计 工

申 请 者 的 承 诺 : 我 承 诺 对 本 人 填 写 的 各 项 内 容 的 真 实 性 负 责, 保 证 没 有 知 识 产 权 争 议 如 获 准 立 项, 本 表 为 有 约 束 力 的 协 议, 遵 守 广 东 省 教 育 科 学 规 划 领 导 小 组 办 公 室 的 有 关 规 定


untitled

財金資訊-83期.indd

内 容 提 要 将 JAVA 开 发 环 境 迁 移 到 Linux 系 统 上 是 现 在 很 多 公 司 的 现 实 想 法, 而 在 Linux 上 配 置 JAVA 开 发 环 境 是 步 入 Linux 下 JAVA 程 序 开 发 的 第 一 步, 本 文 图 文 并 茂 地 全 程 指

版 權 2014 贊 雲 科 技 股 份 有 限 公 司 版 權 保 護 聲 明 未 經 贊 雲 科 技 股 份 有 限 公 司 書 面 許 可, 本 檔 任 何 部 分 的 內 容 不 得 被 複 製 或 抄 襲 用 於 任 何 目 的 本 檔 的 內 容 在 未 經 通 知 的 情 形 下 可

ESET Mobile Security for Android

<4D F736F F D20B5DA31D5C22020CEEFC1AACDF8D7DBCAF62E646F63>

<4D F736F F D2031A3AD4A617661BCBCCAF5CAC6CDB7D5FDBEA22E646F63>

untitled

Android Android Android SDK iv

中南大学第二届软件创新大赛

Adobe AIR 安全性

附 件 : 2009 年 度 国 家 精 品 课 程 名 单 一 本 科 国 家 精 品 课 程 ( 以 学 科 为 序, 共 400 门 ) 序 号 一 级 学 科 二 级 学 科 课 程 名 称 学 校 名 称 负 责 人 1 哲 学 哲 学 类 马 克 思 主 义 伦 理 学 安 徽 师 范

GoFlex Home UG Book.book

闖 關 組 4. 任 一 隊 員 曾 獲 得 第 一 屆 第 2 次 全 國 大 專 ITSA 盃 程 式 設 計 桂 冠 挑 戰 大 賽 菁 英 組 前 三 名 或 歷 屆 全 國 大 專 ITSA 盃 程 式 設 計 桂 冠 挑 戰 大 賽 挑 戰 組 前 三 名 應 報 此 組 5. 任 一

使 用 本 说 明 书 感 谢 您 选 购 三 星 手 机 本 手 机 基 于 三 星 的 高 科 技 和 高 标 准, 为 您 提 供 极 高 品 质 的 移 动 通 信 和 娱 乐 享 受 本 使 用 说 明 书 专 门 用 于 指 导 您 了 解 手 机 的 功 能 与 特 性 请 先 阅 读

目次 

1

目 录 目 录 平 台 概 述 技 术 架 构 技 术 特 点 基 于 统 一 平 台 的 多 产 品 线 支 撑 先 进 性 安 全 性 开 放 性 高 性 能 和

目 录 第 五 部 分 第 六 部 分 第 七 部 分 第 八 部 分 投 标 邀 请 投 标 人 须 知 附 表 评 标 方 法 和 评 分 细 则 项 目 需 求 和 技 术 方 案 要 求 1

LePad A 使用说明书

<4D F736F F D20C8EDBCFEA1B A1B33136BAC5A3BAB9D8D3DAB7A2B2BC C4EAC8EDBCFEB9A4B3CCCAB5D1B5D6AED0A3C4DABFC6D1D0CFEEC4BFB5C4CDA8D6AA2E646F63>

Symantec™ Sygate Enterprise Protection 防护代理安装使用指南

政府機關資訊通報第295期(5月)

【策略行銷分析】宏達電

学 院 人 才 培 养 分 项 自 评 报 告 结 果 汇 总 表 主 要 评 估 指 标 关 键 评 估 要 素 自 评 等 级 1.1 学 校 事 业 发 展 规 划 合 格 1. 领 导 作 用 1.2 办 学 目 标 与 定 位 合 格 1.3 对 人 才 培 养 重 视 程 度 合 格 1

先生別耍我

序号:001

AndroidUsersGuide.book

Inkscape教學

信息

F322_Book.book

<4D F736F F D20312D3120D5D0B9C9CBB5C3F7CAE9A3A8C9CFBBE1B8E5A3A92E646F63>

ltu

ESET Mobile Security for Android

WD TV Live Streaming Media Player User Manual

声 明 本 公 司 及 全 体 董 事 监 事 高 级 管 理 人 员 承 诺 不 存 在 虚 假 记 载 误 导 性 陈 述 或 重 大 遗 漏, 并 对 其 真 实 性 准 确 性 完 整 性 承 担 个 别 和 连 带 的 法 律 责 任 本 公 司 负 责 人 和 主 管 会 计 工 作 的

Wireless Plus.book

Cisco WebEx Meetings Server 2.6 版常见问题解答

<4D F736F F F696E74202D20C8EDBCFEB2E2CAD4D1A7CFB0D7CAC1CF2E BBCE6C8DDC4A3CABD5D>

作 業 系 統 簡 介 光 有 電 腦 硬 體, 會 不 容 易 使 用 必 須 要 有 適 當 的 程 式, 才 方 便 操 作 硬 體 衍 生 作 業 系 統 需 求 : 提 供 方 便 使 用 者 執 行 程 式 平 台 有 效 使 用 各 種 電 腦 硬 體 資 源 Jingo C. Lia

ARIS Design Platform

/ 149 / / / / / 500 1, / / / / / / / / 1,000 3, / / IT 157 / /

PRIV-5.1-User Guide

产品手册

第二部分 成果简介

2 连 接 电 源 线 a 确 保 电 源 开 关 已 打 开 b 打 开 墨 仓 盖 a 警 告 本 设 备 必 须 配 备 接 地 插 座 此 时 切 勿 连 接 接 口 电 缆 ( 如 果 您 正 在 使 用 USB 接 口 电 缆 ) a 连 接 电 源 线 在 您 填 充 墨 仓 之 前,

CANVIO_AEROCAST_CS_EN.indd

目 录 CONTENTS 报 告 编 写 说 明 02 CEO 致 辞 04 关 于 百 度 06 数 据 摘 要 08 责 任 管 理 10 No.1 社 会 责 任 观 No.2 责 任 工 作 No.3 治 理 架 构 No.4 沟 通 机 制 追 求 可 持 续 运

1. 2. Flex Adobe 3.

Secoway SVN3000技术建议书V1

WebSphere Studio Application Developer IBM Portal Toolkit... 2/21 1. WebSphere Portal Portal WebSphere Application Server stopserver.bat -configfile..

untitled

1. ( B ) IT (A) (B) (C) (D) 2. ( A ) (A) (B) (C) (D) 3. ( B ) (A) GPS (B) GIS (C) ETC (D) CAI 4. ( D ) (A) (B) (C) (D) 5. ( B ) (Stored Program) (A) H

Enrolment

2 Java 语 言 程 序 设 计 教 程 简 单 性 Java 语 言 的 语 法 与 C 语 言 和 C++ 语 言 很 接 近, 使 得 大 多 数 程 序 员 很 容 易 学 习 和 使 用 Java 另 一 方 面,Java 丢 弃 了 C++ 中 很 少 使 用 的 很 难

全 国 高 等 职 业 教 育 规 划 教 材 21 世 纪 高 职 高 专 规 划 教 材 系 列 高 等 职 业 教 育 计 算 机 专 业 规 划 教 材 选 题 征 集 通 知 一 选 题 范 围 ( 不 仅 限 于 此 ) 选 题 方 向 选 题 名 计 算 机 基 础 计 算 机 应 用

基于用户行为的笔记本电脑输入模式研究和设计

1 SQL Server 2005 SQL Server Microsoft Windows Server 2003NTFS NTFS SQL Server 2000 Randy Dyess DBA SQL Server SQL Server DBA SQL Server SQL Se

X513_Book.book

北京达唯科技股份有限公司

翻 墙 问 答 享 受 互 联 网 所 带 来 的 便 利, 以 及 私 隐 保 障, 本 来 就 如 其 他 许 多 天 赋 权 利, 这 已 是 一 个 人 应 该 享 有, 无 分 国 界 和 种 族 很 不 幸, 在 中 国 引 入 互 联 网 不 久, 中 国 就 滥 用 很 多 本 来

AXIS M7014/M7010

Junos Pulse Mobile Security R1 2012, Juniper Networks, Inc.

GIS数据展示系统用户操作手册

android讲座

總行總務室

Epson Connect NPD TC


KillTest 质量更高 服务更好 学习资料 半年免费更新服务

标题

目 录 第 一 部 分 本 科 教 育 基 本 情 况... 1 一 学 校 办 学 定 位... 1 二 本 科 人 才 培 养 目 标 及 服 务 面 向... 2 三 教 学 工 作 中 心 地 位 落 实 情 况 领 导 认 识 到 位 教 学 投 入 到 位

蒙 恬 科 技 軟 件 用 戶 授 權 協 議 本 許 可 協 議 為 蒙 恬 科 技 股 份 有 限 公 司 ( 以 下 簡 稱 蒙 恬 公 司 ) 授 予 您 合 法 使 用 本 軟 件 程 式 ( 本 軟 件 ) 之 協 議 書, 如 果 您 不 同 意 此 協 議 中 的 任 何 條 款,

操作使用说明

职 位 类 别 : 测 试 工 程 师 工 作 经 验 或 实 习 经 历 : 不 限 岗 位 要 求 : 1. 本 科 及 其 以 上 学 历, 计 算 机 相 关 专 业 2014 届 毕 业 生 ; 2. 实 习 时 间 要 求, 尽 量 一 周 五 个 工 作 日 ; 3. 熟 悉 Wind

AXIS P7224 Video Encoder Blade – Installation Guide

Microsoft Word - CPE會議紀錄151022

软 件 工 程 专 业 习 指 南 目 录 一 软 件 工 程 专 业 设 置 背 景 与 发 展 前 景... 3 二 软 件 工 程 专 业 实 践 教 条 件... 4 三 软 件 工 程 专 业 课 程 类 型 及 核 方 式 软 件 工 程 专 业 课 程 类 型...7


Transcription:

Android 系 统 下 Java 编 程 详 解 作 者 : 华 清 远 见 第 1 章 Android 基 本 概 念 本 章 简 介 本 章 主 要 介 绍 Android 基 本 概 念 方 面 的 内 容, 包 括 Android 平 台 特 性 Android 系 统 架 构 Android 开 发 框 架 和 Android 开 发 环 境 搭 建

1.1 Android 简 介 Android 一 词 英 文 本 义 指 机 器 人, 它 是 由 Google 公 司 于 2007 年 11 月 推 出 的 基 于 Linux 平 台 的 开 源 手 机 操 作 系 统, 依 靠 Google 公 司 的 强 大 开 发 和 媒 体 资 源,Android 成 为 众 多 手 机 厂 商 竞 相 追 逐 的 对 象, 逐 渐 发 展 成 为 当 下 流 行 的 手 机 开 发 平 台, 图 1-1 所 示 为 Android 系 统 的 Logo 图 1-1 Android 系 统 的 Logo Android 是 一 个 包 括 操 作 系 统 中 间 件 用 户 界 面 和 关 键 应 用 软 件 的 移 动 设 备 软 件 堆 换 言 之,Android 是 基 于 Java 并 运 行 在 Linux 内 核 上 的 轻 量 级 操 作 系 统, 其 功 能 全 面, 包 括 一 系 列 Google 公 司 在 其 上 内 置 的 应 用 软 件, 如 电 话 短 信 等 基 本 应 用 功 能 图 1-2 所 示 为 Android 的 模 拟 器, 从 中 可 以 大 概 了 解 Android 的 运 行 界 面 图 1-2 Android 的 模 拟 器 问 : 模 拟 器 和 真 机 有 什 么 区 别 呢? 答 : 模 拟 器 不 支 持 呼 叫 和 接 听 实 际 来 电, 但 可 以 通 过 控 制 台 模 拟 电 话 呼 叫 ( 呼 入 和 呼 出 ); 模 拟 器 不 支 持 USB 连 接 模 拟 器 不 支 持 相 机 / 视 频 捕 捉 模 拟 器 不 支 持 音 频 输 入 ( 捕 捉 ), 但 支 持 输 出 ( 重 放 ) 模 拟 器 不 支 持 扩 展 耳 机 模 拟 器 不 能 确 定 连 接 状 态 模 拟 器 不 能 确 定 电 池 电 量 水 平 和 充 电 状 态 模 拟 器 不 能 确 定 SD 卡 的 插 入 / 弹 出 模 拟 器 不 支 持 蓝 牙 2

1.2 Android 平 台 特 性 随 着 科 技 的 发 展, 移 动 电 话 (Mobile Phone) 正 朝 着 智 能 化 的 方 向 发 展, 逐 步 成 为 多 种 工 具 的 功 能 载 体, 而 Android 就 是 这 样 一 个 智 能 手 机 的 平 台 一 个 多 种 工 具 的 功 能 载 体 1. 通 信 工 具 移 动 电 话 的 最 基 本 功 能 为 通 信 功 能, 因 此 使 用 运 营 商 提 供 的 通 信 网 络 进 行 语 音 通 话 也 是 Android 平 台 的 最 基 本 功 能 除 了 传 统 的 语 音 通 话 功 能 外,Android 平 台 还 具 有 短 消 息 功 能, 以 及 通 常 移 动 电 话 都 具 有 的 个 人 信 息 系 统 管 理 方 面 的 功 能 ( 如 电 话 本 等 ) 2. 网 络 工 具 随 着 数 字 业 务 使 用 的 普 遍 化, 移 动 电 话 通 常 被 作 为 网 络 工 具 使 用, 即 移 动 电 话 可 以 完 成 电 脑 的 部 分 功 能 而 Android 平 台 在 网 络 方 面 的 功 能 主 要 包 括 浏 览 器 IM( 即 时 信 息 ) 邮 件 等 3. 媒 体 播 放 器 随 着 多 媒 体 技 术 的 发 展 应 用, 在 移 动 电 话 上 进 行 音 频 和 视 频 播 放 已 经 成 为 经 常 使 用 的 功 能 由 此, Android 平 台 具 有 支 持 更 多 的 音 频 / 视 频 格 式, 支 持 更 高 分 辨 率 的 视 频, 可 更 流 畅 地 播 放 视 频, 以 及 支 持 网 络 流 媒 体 等 功 能 4. 媒 体 获 取 设 备 随 着 移 动 电 话 与 媒 体 获 取 设 备 的 集 成 日 益 增 强,Android 平 台 提 供 了 照 相 机 录 音 机 摄 像 机 等 功 能 5. 多 类 型 的 连 接 设 备 Android 平 台 提 供 了 多 种 连 接 方 式, 如 USB GPS 红 外 蓝 牙 无 线 局 域 网 等 6. 具 有 友 好 和 绚 丽 的 用 户 界 面 Android 平 台 具 有 友 好 的 用 户 界 面, 使 用 户 容 易 学 习 和 操 作 ; 同 时 具 有 绚 丽 的 用 户 界 面, 具 有 良 好 的 视 觉 效 果 7. 可 以 个 性 化 定 制 的 平 台 Android 平 台 针 对 于 用 户 的 个 性 化 需 求, 提 供 了 全 面 自 定 义 手 机 的 功 能 除 了 上 述 介 绍 的 Android 平 台 的 功 能 以 外, 其 在 技 术 上 还 具 有 以 下 几 个 方 面 的 特 性 : 全 开 放 智 能 移 动 电 话 平 台 支 持 多 硬 件 平 台 使 用 众 多 的 标 准 化 技 术 核 心 技 术 完 整 统 一 完 善 的 SDK 和 文 档 完 善 的 辅 助 开 发 工 具 1.3 Android 系 统 架 构 如 图 1-3 所 示,Android 系 统 从 下 至 上 分 为 4 层 :Linux 内 核 Android 程 序 库 及 Android 运 行 时 Android 应 用 程 序 框 架, 以 及 应 用 程 序 等 3

图 1-3 Android 系 统 框 架 1.3.1 Linux 内 核 (Linux Kernel) Android 的 核 心 系 统 服 务 依 赖 于 Linux 2.6, 例 如 安 全 内 存 管 理 进 程 管 理 网 络 堆 栈 驱 动 模 型 Linux Kernel 也 作 为 硬 件 和 软 件 之 间 的 抽 象 层, 它 隐 藏 具 体 硬 件 细 节 而 为 上 层 提 供 统 一 的 服 务 除 了 标 准 的 Linux 内 核 之 外,Android 系 统 还 增 加 了 内 核 的 驱 动 程 序, 例 如, 显 示 驱 动 蓝 牙 驱 动 相 机 驱 动 闪 存 卡 驱 动 Binder IPC 驱 动 输 入 设 备 驱 动 USB 驱 动 Wi-Fi 驱 动 音 频 系 统 驱 动 电 源 管 理 等, 这 些 驱 动 程 序 为 Android 系 统 的 运 行 提 供 基 础 性 支 持 这 样 分 层 的 好 处 是 在 使 用 下 层 提 供 的 服 务 的 同 时 也 为 上 层 提 供 统 一 的 服 务, 屏 蔽 本 层 及 以 下 层 的 差 异, 当 本 层 及 以 下 层 发 生 了 变 化 不 会 影 响 到 上 层 也 就 是 说, 各 层 各 尽 其 职, 各 层 提 供 固 定 的 SAP(Service Access Point), 即 高 内 聚 低 耦 合 1.3.2 Android 程 序 库 (Libraries) Android 包 含 一 个 C/C++ 库 的 集 合, 以 供 Android 系 统 的 各 个 组 件 使 用 这 些 功 能 通 过 Android 的 应 用 程 序 框 架 (Application Framework) 展 现 给 开 发 者 下 面 列 出 一 些 核 心 库 : 系 统 C 库 由 BSD 继 承 衍 生 的 标 准 C 系 统 函 数 库 (libc), 调 整 为 基 于 嵌 入 式 Linux 设 备 的 库 媒 体 库 基 于 PacketVideo 的 OpenCORE 这 些 库 支 持 播 放 和 录 制 多 种 常 见 的 音 频 和 视 频 格 式, 以 及 多 种 媒 体 的 编 码 / 解 码 格 式, 包 括 MPEG-4 H.264 MP3 AAC AMR JPG PNG 界 面 管 理 显 示 子 系 统 的 管 理 器, 管 理 访 问 显 示 子 系 统 和 无 缝 组 合 多 个 应 用 程 序 的 二 维 和 三 维 图 形 层 LibWebCore 新 式 的 Web 浏 览 器 引 擎, 驱 动 Android 浏 览 器 和 可 嵌 入 的 Web 视 图 SGL Skia 图 形 库, 基 本 的 2D 图 形 引 擎 3D libraries 基 于 OpenGL ES 1.0 APIs 的 实 现 该 库 使 用 硬 件 3D 加 速 或 使 用 高 度 优 化 的 3D 软 加 速 FreeType 位 图 (bitmap) 和 矢 量 (vector) 字 体 渲 染 SQLite 所 有 应 用 程 序 都 可 以 使 用 的 强 大 而 轻 量 级 的 关 系 数 据 库 引 擎 1.3.3 Android 运 行 时 (Android Runtime) 在 Linux 内 核 层 上 还 有 一 个 Android 运 行 时 层, 该 层 包 括 Dalvik 虚 拟 机 及 Java 核 心 库, 提 供 了 Java 编 程 语 言 核 心 库 的 大 多 数 功 能 4

Dalvik 虚 拟 机 是 Android 使 用 的 Java 虚 拟 机 每 一 个 Android 应 用 程 序 都 是 Dalvik 虚 拟 机 中 的 实 例, 运 行 在 它 们 自 己 的 进 程 中 Dalvik 虚 拟 机 设 计 成 在 一 个 设 备 中 可 以 高 效 地 运 行 多 个 虚 拟 机 Dalvik 虚 拟 机 可 执 行 文 件 格 式 是.dex,.dex 格 式 是 专 为 Dalvik 设 计 的 一 种 压 缩 格 式, 适 合 内 存 和 处 理 器 速 度 有 限 的 系 统 大 多 数 虚 拟 机 包 括 JVM 都 是 基 于 栈 的, 而 Dalvik 虚 拟 机 则 是 基 于 寄 存 器 的 两 种 架 构 各 有 优 劣 一 般 而 言, 基 于 栈 的 机 器 需 要 更 多 指 令, 而 基 于 寄 存 器 的 机 器 指 令 更 大 dex 是 一 套 工 具, 可 以 将 Java 的.class 格 式 转 换 成.dex 格 式 一 个.dex 文 件 通 常 会 有 多 个.class 由 于.dex 有 时 必 须 进 行 最 佳 化, 会 使 文 件 大 小 增 加 1~4 倍, 以 odex 结 尾 Dalvik 虚 拟 机 依 赖 于 Linux 内 核 提 供 基 本 功 能, 如 线 程 和 底 层 内 存 管 理 1.3.4 Android 应 用 程 序 框 架 (Application Framework) 位 于 Android 程 序 库 和 运 行 时 上 面 的 是 应 用 程 序 框 架 层 通 过 提 供 开 放 的 开 发 平 台,Android 使 开 发 者 能 够 访 问 核 心 应 用 程 序 所 使 用 的 API 框 架, 这 样 使 得 组 件 的 重 用 得 以 简 化, 任 何 应 用 程 序 都 能 发 布 它 的 功 能 且 任 何 其 他 应 用 程 序 可 以 使 用 这 些 功 能 ( 需 要 服 从 框 架 执 行 的 安 全 限 制 ), 从 而 使 开 发 者 可 以 编 制 极 其 丰 富 和 新 颖 的 应 用 程 序, 自 由 地 利 用 设 备 硬 件 优 势 访 问 位 置 信 息 运 行 后 台 服 务 设 置 闹 钟 向 状 态 栏 添 加 通 知 等 每 个 应 用 程 序 其 实 是 一 组 服 务 和 系 统, 包 括 如 下 内 容 视 图 (View) 丰 富 的 可 扩 展 的 视 图 集 合, 用 来 构 建 应 用 程 序 包 括 列 表 (Lists) 网 格 (grids) 文 本 框 (Textboxs) 按 钮 (Buttons), 甚 至 是 可 嵌 入 的 网 页 浏 览 器 内 容 提 供 器 (Content Providers) 使 应 用 程 序 可 以 访 问 其 他 应 用 程 序 ( 如 通 讯 录 ) 的 数 据, 或 共 享 自 己 的 数 据 资 源 管 理 器 (Resource Manager) 提 供 对 于 非 代 码 资 源 的 访 问, 如 本 地 化 字 符 串 图 形 和 布 局 文 件 消 息 管 理 器 (Notification Manager) 使 得 应 用 程 序 能 够 在 状 态 栏 显 示 自 定 义 的 提 示 信 息 活 动 管 理 器 (Activity Manager) 管 理 应 用 程 序 生 命 周 期, 并 提 供 常 用 的 导 航 回 退 功 能 1.3.5 Android 应 用 程 序 和 小 部 件 Android 装 配 一 个 核 心 应 用 程 序 集 合, 连 同 系 统 一 起 发 布, 这 些 应 用 程 序 包 括 电 子 邮 件 客 户 端 SMS 程 序 日 历 地 图 浏 览 器 联 系 人 和 其 他 设 置 等 而 所 有 应 用 程 序 都 是 用 Java 语 言 编 写 的, 由 用 户 开 发 的 Android 应 用 程 序 和 Android 核 心 应 用 程 序 是 同 一 层 次 的 1.4 Android 开 发 框 架 Android 系 统 作 为 一 个 开 放 的 系 统, 它 体 积 庞 大, 对 于 不 同 的 开 发 者 来 说, 其 在 开 发 过 程 中 并 不 需 要 掌 握 整 个 Android 系 统, 只 需 要 进 行 其 中 某 一 部 分 的 开 发 从 功 能 上, 将 Android 开 发 分 为 移 植 开 发 移 动 电 话 系 统 Android 应 用 程 序 开 发, 以 及 Android 系 统 开 发 3 种 从 商 业 模 式 的 角 度 来 讲, 移 植 开 发 移 动 电 话 系 统 和 Android 应 用 程 序 开 发 是 Android 开 发 的 主 流 对 于 移 植 开 发 移 动 电 话 系 统 主 要 由 移 动 电 话 的 制 造 者 来 进 行, 其 产 品 主 要 是 Android 手 机 ; 而 公 司 团 体 和 个 人 一 般 进 行 对 于 Android 应 用 程 序 的 开 发, 产 生 各 种 各 样 的 Android 应 用 程 序 对 于 Android 移 植 开 发 来 讲, 其 主 要 工 作 集 中 于 Linux 内 核 中 的 相 关 设 备 驱 动 程 序, 以 及 Android 本 地 框 架 中 的 硬 件 抽 象 层 接 口 的 开 发 ; 对 于 Android 应 用 程 序 开 发, 其 开 发 的 应 用 程 序 与 Android 系 统 的 第 四 个 层 次 的 应 用 程 序 是 一 个 层 次 的 内 容 ; 对 于 Android 系 统 的 开 发, 涉 及 Android 系 统 的 各 个 层 次, 一 般 情 况 下 是 从 底 层 到 上 层 的 整 体 开 发 Android 开 发 框 架 包 括 基 本 的 应 用 功 能 开 发 数 据 存 储 网 络 访 问 三 大 块 5

1.4.1 应 用 方 面 专 业 始 于 专 注 卓 识 源 于 远 见 一 般 而 言, 一 个 标 准 的 Android 程 序 包 括 Activity Broadcast Intent Receiver Service Content Provider 4 部 分 : 1.Activity Activity 是 在 Android 应 用 开 发 中 最 频 繁 最 基 本 的 模 块 在 Android 中,Activity 类 中 主 要 是 与 界 面 资 源 文 件 相 关 联 (res/layout 目 录 下 的 XML 资 源, 也 可 以 不 含 任 何 界 面 资 源 ), 包 含 控 件 的 显 示 设 计 界 面 交 互 设 计 事 件 的 响 应 设 计 及 数 据 处 理 设 计 导 航 设 计 等 application 设 计 的 方 方 面 面 因 此,Activity 是 手 机 上 的 一 个 界 面, 相 当 于 一 个 网 页, 不 同 的 是, 每 个 Activity 运 行 结 束 时 都 返 回 一 个 返 回 值, 类 似 一 个 函 数 Android 系 统 会 自 动 记 录 从 首 页 到 其 他 页 面 的 所 有 跳 转 记 录 并 且 自 动 将 以 前 的 Activity 压 入 系 统 堆 栈, 用 户 可 以 通 过 编 程 的 方 式 删 除 历 史 堆 栈 中 的 Activity Instance 2.Broadcast Intent Receiver Intent 为 不 同 的 Activity 间 进 行 跳 转 提 供 了 机 制, 比 如 当 从 A Activity 跳 转 到 B Activity, 使 用 Intent 来 实 现 如 下 : Intent in = new Intent(A.this, B.class); startactivity(in); BroadcastReceiver 还 为 各 种 不 同 的 Android 应 用 程 序 间 进 行 进 程 间 的 通 信 提 供 了 可 能 例 如, 当 电 话 呼 入 时, 它 可 以 通 过 BroadcastReceiver 发 布 广 播 消 息 对 于 用 户 而 言, 用 户 是 无 法 看 到 BroadcastReceiver 事 件 的, 它 对 用 户 是 不 透 明 的,BroadcastReceiver 通 过 NotificationManager 通 知 用 户 这 些 事 件 发 生 了, 它 既 可 以 在 资 源 AndroidManifest.xml 中 注 册, 也 可 以 在 代 码 中 通 过 Context.registerReceiver() 进 行 注 册, 注 册 以 后, 当 事 件 来 临 时, 即 使 程 序 没 有 启 动, 系 统 也 会 在 需 要 的 时 候 自 动 启 动 此 应 用 程 序 ; 另 外, 各 应 用 程 序 很 方 便 地 通 过 Context.sendBroadcast() 将 自 己 的 事 情 广 播 给 其 他 应 用 程 序 3.Service Android 中 的 Service 和 Windows 中 的 Service 是 一 个 概 念, 用 户 可 以 通 过 startservice(intent Service) 启 动 一 个 Service, 也 可 以 通 过 Context.bindService 来 绑 定 一 个 Service 4.Content Provider Content Provider 提 供 了 应 用 程 序 之 间 数 据 交 换 的 机 制, 一 个 应 用 程 序 通 过 实 现 一 个 Content Provider 的 抽 象 接 口 将 自 己 的 数 据 暴 露 出 去, 并 且 隐 蔽 了 具 体 的 数 据 存 储 实 现, 这 样 实 现 了 Android 应 用 程 序 内 部 数 据 的 保 密 性 标 准 的 Content Provider 提 供 了 基 本 的 CRUD(Create,Read,Update,Delete) 的 接 口, 并 且 实 现 了 权 限 机 制, 保 障 了 数 据 交 互 的 安 全 性 一 个 标 准 的 Android 应 用 程 序 的 工 程 文 件 包 含 以 下 几 大 部 分 : Java 源 代 码 部 分 ( 包 含 Activity) 放 置 在 src 目 录 当 中 R.java 文 件 由 Eclipse 自 动 生 成 与 维 护 的, 开 发 者 不 需 要 修 改, 提 供 了 Android 对 的 资 源 全 局 索 引 Android Library 应 用 程 序 运 行 的 Android 库 assets 目 录 主 要 用 于 放 置 多 媒 体 等 一 些 文 件 res 目 录 放 置 的 是 资 源 文 件 :drawable 包 含 图 片 文 件 layout 包 含 布 局 文 件,values 目 录 里 面 主 要 包 含 字 符 串 (strings.xml) 颜 色 (colors.xml) 以 及 数 组 (arrays.xml) 资 源 AndroidManifest.xml 应 用 的 配 置 文 件, 在 这 个 文 件 中, 需 要 声 明 所 有 用 到 的 Activity Service Receiver 等 1.4.2 数 据 存 储 在 Android 中, 提 供 的 存 储 方 式 包 括 SharedPreferences 文 件 存 储 SQLite 数 据 库 存 储 方 式 内 容 提 供 器 方 式 (Content Provider) 及 网 络 方 式 5 种, 具 体 介 绍 如 下 6

1.SharedPreferences 专 业 始 于 专 注 卓 识 源 于 远 见 作 为 Android 提 供 的 一 种 配 置 文 件 读 / 写 方 式, 默 认 保 存 在 应 用 的 目 录 data/<package name>/shared_prefs 下, 通 过 方 法 getsharedpreferences(xx, 0) 来 获 取 SharedPreferences 对 象 进 行 读 / 写 操 作 2. 文 件 存 储 Android 系 统 提 供 了 进 行 数 据 读 写 访 问 的 API, 例 如,openFileInput openfileoutput 等, 特 别 需 要 注 意 的 是, 在 Android 中 应 用 程 序 的 数 据 是 私 有 的, 出 就 是 说, 当 前 应 用 程 序 产 生 的 文 件 其 他 应 用 程 序 无 法 访 问 3.SQLite 数 据 库 存 储 方 式 通 过 继 承 SQLiteOpenHelper 类, 通 过 该 类 提 供 的 CRUD 接 口 来 进 行 数 据 库 操 作, 方 便 了 应 用 程 序 的 数 据 存 储 操 作 4. 内 容 提 供 器 方 式 (Content Provider) 通 过 调 用 其 他 应 用 程 序 的 数 据 接 口 来 实 现 数 据 的 读 / 写 访 问 5. 网 络 方 式 主 要 是 通 过 下 面 要 提 到 的 网 络, 访 问 该 网 络 提 供 的 网 络 服 务 接 口 实 现 数 据 的 读 写 服 务 ( 例 如, WebService 数 据 访 问 接 口 ) 1.4.3 网 络 访 问 方 面 主 要 通 过 java.net.*;android.net.* 来 进 行 HTTP 访 问 技 术 的 封 装 ; 利 用 其 下 提 供 的 HttpPost DefaultHttpClient HttpResponse 等 类 提 供 的 访 问 接 口 来 实 现 具 体 的 Web 服 务 访 问 1.5 Android 开 发 环 境 搭 建 Android 应 用 软 件 开 发 需 要 的 开 发 环 境 如 表 1-1 所 示 表 1-1 Android 应 用 软 件 开 发 需 要 的 开 发 环 境 所 需 项 版 本 需 求 说 明 备 注 操 作 系 统 Windows XP 或 Vista Mac OS X10.4.8+ Linux Ubuntu Drapper 选 择 自 己 最 熟 悉 的 操 作 系 统 软 件 开 发 包 Android SDK 选 择 最 新 版 本 的 SDK 截 止 到 目 前, 其 最 新 版 本 为 2.3 IDE Eclipse IDE+ADT Eclipse3.3(Europa),3.4(Ganymede) ADT(Android Development Tools) 开 发 插 件 选 择 for Java Developer 其 他 JDKApache Ant Java SE Development Kit 5 或 6 Linux 和 Mac 上 使 用 Apache Ant 1.6.5+,Windows 上 使 用 1.7+ 版 本 JDK 和 SRE 一 般 同 时 安 装 ; 不 兼 容 Gnu Java 编 译 器 (gcj) 软 件 开 发 包 的 下 载 地 址 如 下 : (1)JDK 1.6,http://java.sun.com/javase/downloads/index.jsp (2)Eclipse 3.4(Eurpa),http://www.eclipse.org/downloads/ 下 载 Eclipse IDE for Java Developers (3)Android SDK 2.2,http://developer.android.com 7

1.5.1 安 装 JDK 和 配 置 Java 开 发 环 境 专 业 始 于 专 注 卓 识 源 于 远 见 首 先 下 载 使 用 JDK 的 包, 并 进 行 安 装 例 如, 得 到 JDK 1.6 版 本 的 安 装 文 件 jdk-6u10-rc2-bin-b32-windows-i586-p-12_sep_2008.exe, 双 击 进 行 安 装 接 受 许 可 证, 选 择 需 要 安 装 的 组 件 和 安 装 路 径 后, 单 击 下 一 步 按 钮, 完 成 安 装 过 程 安 装 完 成 后, 利 用 以 下 步 骤 检 查 安 装 是 否 成 功 : 打 开 CMD 窗 口, 在 CMD 窗 口 中 输 入 java version 命 令, 如 果 屏 幕 出 现 如 图 1-4 所 示 的 的 代 码 信 息, 说 明 JDK 安 装 成 功 图 1-4 JDK 安 装 检 查 1.5.2 Eclipse 的 安 装 JDK 安 装 成 功 后, 可 以 直 接 安 装 Eclipse, 例 如, 使 用 Eclipse 3.6, 得 到 其 压 缩 包 eclipse-sdk-3.6.1-win32.zip, 该 包 不 需 要 安 装, 直 接 解 压 即 可 执 行 其 中 的 eclipse.exe 文 件 进 行 使 用,Eclipse 可 以 自 动 找 到 用 户 前 期 安 装 的 JDK 路 径 1.5.3 SDK 和 ADT 的 安 装 和 配 置 JDK 和 Eclipse 安 装 成 功 后, 下 载 安 装 Android 的 SDK, 得 到 android-sdk-windows.zip, 解 压 后 运 行 SDK Manager.exe, 选 择 需 要 的 API 版 本 进 行 安 装, 如 图 1-5 所 示 图 1-5 SDK Manager 完 成 以 上 步 骤 后, 在 Eclipse 中 安 装 配 置 ADT ADT(Android Development Tools) 是 Android 为 Eclipse 定 制 的 一 个 插 件, 为 用 户 提 供 了 一 个 强 大 的 用 户 开 发 Android 应 用 程 序 的 综 合 环 境 ADT 扩 展 了 Eclipse 的 功 能, 可 以 让 用 户 快 速 地 建 立 Android 项 目, 创 建 应 用 程 序 界 面, 在 基 于 Android 框 架 API 的 基 础 上 添 加 组 件, 以 及 用 SDK 工 具 集 调 试 应 用 程 序, 甚 至 导 出 签 名 ( 或 未 签 名 ) 的 APKs 以 便 发 行 应 用 程 序 在 Eclipse 中 安 装 ADT, 首 先 启 动 Eclipse, 选 择 Help Software Updates 命 令, 准 备 安 装 插 件 在 打 开 的 InStall 窗 口 中 选 择 Available Software, 得 到 如 图 1-6 所 示 的 界 面 8

单 击 Add 按 钮, 得 到 如 图 1-7 所 示 的 界 面 图 1-6 Available Software 界 面 图 1-7 Add Site 界 面 在 Location 文 本 框 中, 输 入 Android 插 件 的 路 径 :http://dll-ssl.google.com/android/eclipse/, 单 击 OK 按 钮, 返 回 至 图 1-6 所 示 界 面, 可 以 看 到 刚 刚 添 加 的 站 点 已 添 加 至 搜 索 列 表, 选 择 到 Developer Tools 中, 然 后 单 击 Install 按 钮 在 Install 界 面 中, 选 择 Android DDMS 和 Android Development Tools, 单 击 Next 按 钮, 阅 读 并 接 受 许 可 协 议, 单 击 Finish 按 钮 完 成 安 装 安 装 完 成 后 重 启 Eclipse 即 可 在 Eclipse 中 增 加 SDK 的 路 径 : 选 择 Windows Preference 命 令, 在 左 侧 的 列 表 中 选 择 Android 选 项, 设 置 SDK Location 为 SDK 的 目 录, 如 图 1-8 所 示 图 1-8 选 择 Android SDK 路 径 问 : 安 装 ADT 的 过 程 中 没 有 网 络 怎 么 办? 答 : 在 Add Site 对 话 框 中 单 击 Archive 按 钮, 直 接 指 定 磁 盘 中 的 ADT 包 ( 例 如,ADT-0.9.1.zip 等 ) 9

1.6 本 章 小 结 本 章 主 要 介 绍 Android 的 基 本 概 念, 包 括 平 台 特 性 系 统 架 构 开 发 框 架 等 ; 介 绍 了 Android 开 发 环 境 的 搭 建 读 者 通 过 本 章 的 学 习, 对 Android 开 发 有 了 初 步 认 识, 在 搭 建 好 Android 开 发 环 境 的 同 时 为 后 续 章 节 的 学 习 做 好 准 备 课 后 练 习 题 一 选 择 题 1. 以 下 有 关 Android 平 台 的 说 法, 不... 正 确 的 是 ( ) A.Android 平 台 具 有 传 统 的 语 音 通 话 功 能 B.Android 具 有 短 消 息 功 能 及 通 常 移 动 电 话 都 具 有 的 个 人 信 息 系 统 管 理 方 面 的 功 能 C.Android 平 台 提 供 了 USB GPS 红 外 蓝 牙 无 线 局 域 网 等 多 种 连 接 方 式 D.Android 平 台 不 能 自 定 义 手 机 的 功 能 2. 以 下 有 关 Android 的 叙 述, 正 确 的 是 ( ) A.Android 系 统 自 上 而 下 分 为 三 层 B.Android 系 统 在 核 心 库 层 增 加 了 内 核 的 驱 动 程 序 C.Android 包 含 一 个 C/C++ 库 的 集 合, 以 供 Android 系 统 的 各 个 组 件 使 用 这 些 功 能 通 过 Android 的 应 用 程 序 框 架 (Application Framework) 暴 露 给 开 发 者 D.Android 的 应 用 程 序 框 架 包 括 Dalvik 虚 拟 机 及 Java 核 心 库, 提 供 了 Java 编 程 语 言 核 心 库 的 大 多 数 功 能 3. 以 下 有 关 Android 程 序 库 层 的 叙 述, 不 正 确 的 是 ( ) A. 系 统 C 库 是 专 门 为 基 于 嵌 入 式 Linux 的 设 备 定 制 的 库 B. 媒 体 库 支 持 播 放 和 录 制 多 种 常 见 的 音 频 和 视 频 格 式 及 多 种 媒 体 格 式 的 编 码 / 解 码 格 式 C.SGL 是 Skia 图 形 库, 基 本 的 3D 图 形 引 擎 D.FreeType 包 含 位 图 (bitmap) 和 矢 量 (vector) 字 体 渲 染 4. 以 下 有 关 Android 开 发 框 架 的 描 述, 正 确 的 是 ( ) A. 一 般 而 言, 一 个 标 准 的 Android 程 序 包 括 Activity Broadcast Intent Receiver Service Content Provider 四 部 分 B.Android 中 的 Service 和 Windows 中 的 Service 不 同 C.Broadcast Intent Receiver 提 供 了 应 用 程 序 之 间 数 据 交 换 的 机 制 D.Content Provider 为 不 同 的 Activity 间 进 行 跳 转 提 供 了 机 制 5. 以 下 有 关 Android 开 发 环 境 所 需 条 件 的 说 法, 不 正 确 的 是 ( ) A. 可 在 Windows/Linux 操 作 系 统 上 进 行 开 发 B. 使 用 Eclipse IDE 进 行 开 发 C. 需 在 Eclipse IDE 中 安 装 配 置 ADT D. 可 以 只 安 装 JRE 二 简 答 题 简 述 Android 应 用 程 序 框 架 的 层 次 结 构 联 系 方 式 集 团 官 网 :www.hqyj.com 嵌 入 式 学 院 :www.embedu.org 移 动 互 联 网 学 院 :www.3g-edu.org 10

企 业 学 院 :www.farsight.com.cn 物 联 网 学 院 :www.topsight.cn 研 发 中 心 :dev.hqyj.com 集 团 总 部 地 址 : 北 京 市 海 淀 区 西 三 旗 悦 秀 路 北 京 明 园 大 学 校 内 华 清 远 见 教 育 集 团 北 京 地 址 : 北 京 市 海 淀 区 西 三 旗 悦 秀 路 北 京 明 园 大 学 校 区, 电 话 :010-82600386/5 上 海 地 址 : 上 海 市 徐 汇 区 漕 溪 路 250 号 银 海 大 厦 11 层 B 区, 电 话 :021-54485127 深 圳 地 址 : 深 圳 市 龙 华 新 区 人 民 北 路 美 丽 AAA 大 厦 15 层, 电 话 :0755-22193762 成 都 地 址 : 成 都 市 武 侯 区 科 华 北 路 99 号 科 华 大 厦 6 层, 电 话 :028-85405115 南 京 地 址 : 南 京 市 白 下 区 汉 中 路 185 号 鸿 运 大 厦 10 层, 电 话 :025-86551900 武 汉 地 址 : 武 汉 市 工 程 大 学 卓 刀 泉 校 区 科 技 孵 化 器 大 楼 8 层, 电 话 :027-87804688 西 安 地 址 : 西 安 市 高 新 区 高 新 一 路 12 号 创 业 大 厦 D3 楼 5 层, 电 话 :029-68785218 11