Android
开发从入门到精通
1
Android
开发从入门到精通
Android
是一种基于
Linux® V2.6
内核的综合操½环境。最初,Android 的部½目标是移动电话领域,包括智½电话和更廉价
的翻盖手机。½是,
Android
全面的计算服务和丰富的功½支持完全有½力扩展到移动电话市场以外。Android 也可以用于其他
的平台和应用程序。本专题提供的教程、技术文章首先带大家了解
Android
开发,进而深入到
Android
开发的各个方面。
Android
开发入门
Android
开发简介
Android
是
Google
提供的移动、无线、计算机和通信平台。通过½用
Android Eclipse
插件,可以在强大的
Eclipse
环境中构建
Android
应用程序。本教程介绍如½用
Eclipse
插件
Android Development Tools
进行
Android
应用
程序开发,包括对
Android
平台和
Android Development Tools
的介绍,并开发两个示例应用程序。
用
Eclipse
开发
Android
应用程序
Android
是一种基于
Linux® V2.6
内核的综合操½环境。最初,Android 的部½目标是移动电话领域,包括智½电话
和更廉价的翻盖手机。½是,
Android
全面的计算服务和丰富的功½支持完全有½力扩展到移动电话市场以外。Android
也可以用于其他的平台和应用程序。
在本文中,
阅读对
Android
平台的简介,
并学习如½编写基本的
Android
应用程序。
深入
Android
开发
手机上的
Scala
Android
操½系统为移动开发提供强大、开放的平台。它利用了
Java
编程语言和
Eclipse
工具平台的威力。现在,还
可以将
Scala
编程语言加入到其中。在本文中,您将看到如½½用
Scala
½为
Android
上的主要开发语言,从而可以
½用一种更具表达力、更加类型安全的编程语言编写移动应用程序。
构建
Android
手机
RSS
阅读器
本教程将展示如½½用
Android Developer Tools
读取、解析和显示
XML
数据。构建一个运行在
Android
平台上的
RSS
阅读器,并集成不同的
RSS
或其他
XML
数据源以构建自己的
mash-up
应用。
Android
助力云计算
开源的
Android
操½系统已经席卷全球,
它允许您在任½½½运行复杂的云计算应用程序。
它设计用于在电池供电设备
(如
T-Mobile G1
智½电话)上高效工½,Android 本质上就是
Linux,Android
编程模型有多个层,允许创建为云计算量
身定做的安全应用程序。½用
Android
达到新的高度并½验前所未有的移动计算吧。
½用
Android
实现联½
Android
是面向应用程序开发的丰富平台,它提供一套出色的用户界面元素和数据管理功½。它还为开发连接到真实世界
的应用程序提供了出色的½络选项。您希望连接到哪里?也许您希望告诉全世界您正在½用
Twitter。或者希望收到有关
在本地洗衣店或熟食店的排号。如果希望将
Android
连接到您所生活的世界,那么请阅读本文。
深入探讨
Android
传感器
Android
是一个面向应用程序开发的富平台,它拥有许多具有吸引力的用户界面元素和数据管理功½。Android 还提供了
一组丰富的接口选项。在本文中,学习如½配合½用
Android
的各种传感器选项监控您的环境。样例代码展示了如½在
Android
电话中½制音频。想构建自己的婴儿监视器吗?想用声音来接听电话或者打开房门吗?请学习如½利用配备有
Android
的设备的硬件功½。
Android
开发简介
2
Android
开发简介
开源的设备平台
Android
是一种基于
Linux® V2.6
内核的综合操½环境。最初,Android 的部½目标是移动电话
领域,包括智½电话和更廉价的翻盖手机。½是,
Android
全面的计算服务和丰富的功½支持完全
有½力扩展到移动电话市场以外。Android 也可以用于其他的平台和应用程序。在本文中,阅读对
Android
平台的简介,并学习如½编写基本的
Android
应用程序。
简介
黑莓和
iPhone
½提供了受欢迎的、高容量的移动平台,½是却分别针对两个不同的消费群½。黑莓是企业业务用户的不二选择。
½是,½为一种消费设备,它在易用性和
“新奇特性”
方面难以和
iPhone
抗衡。Android 则是一个年½的、有待开发的平台,它
有½力同时涵盖移动电话的两个不同消费群½,甚至可½缩小工½和娱乐之间的差别
如今,很多基于½络或有½络支持的设备½运行某种
Linux
内核。这是一种可靠的平台:可经济有效地进行部½和提供支持,并且
可直接½为面向部½的良½的设计方法。这些设备的
UI
通常是基于
HTML
的,可通过
PC
或
Mac
浏览器查看。½并不是每个
设备½需要通过一个常规的计算设备来控制。
想象一下传统的家用电器,
例如电炉、
微波炉或面包机。
如果您的家用电器由
Android
控制,并且有一个½色触摸屏,会怎么样?如果电炉上有一个
Android UI,那么操控者甚至可以烹饪点什么东西。
在本文中,了解
Android
平台,以及如½将它用于移动和非移动应用程序。安装
Android SDK,并构建一个简单的应用程序。下
½½ 本文中的示例应用程序的源代码。
Android
简史
Android
平台是
Open Handset Alliance
的成果,Open
Handset Alliance
组织由一群共同致力于构建更½的移动电话的公司
组成。这个组织由
Google
领导,包括移动运营商、手持设备制造商、零部件制造商、½件解决方案和平台提供商以及市场营销公
司。从½件开发的观点看,Android 正处在开源领域的中心½½。
市场上第一款支持
Android
的手机是由
HTC
制造并由
T-Mobile
供应的
G1。这款设备从设想到推出花了大约一年的时间,惟
一可用的½件开发工具是一些实行增量改进的
SDK
发行版。随着
G1
发行日的临近,Android 团队发布了
SDK V1.0,用于这
个新平台的应用程序也浮出水面。
为了鼓励创新,Google 举办了两届
“Android Developer Challenges”,为优胜的参赛½品提供数百万美金的奖励。G1
问世几
个月之后,随后就发布了
Android Market,它½用户可以浏览应用程序,并且可以将应用程序直接下½½到他们的手机上。经过大
约
18
个月,一个新的移动平台进入公众领域。
Android
平台
Android
有丰富的功½,因此很容易与桌面操½系统混淆。Android 是一个分层的环境,构建在
Linux
内核的基础上,它包括丰
富的功½。UI 子系统包括:
窗口
视图
用于显示一些常见组件(例如编辑框、列表和下拉列表)的小部件
Android
包括一个构建在
WebKit
基础上的可嵌入浏览器,iPhone 的
Mobile Safari
浏览器同样也是以
WebKit
为基础。
Android
开发简介
Android
提供多种连接选项,
包括
WiFi、
蓝牙和通过蜂窝
(cellular)
连接的无线数据传输
(例如
GPRS、
EDGE
和
3G) Android
。
应用程序中一项流行的技术是链接到
Google
地图,以便在应用程序中显示地址。Android ½件栈还提供对基于½½的服务(例如
GPS)和加速计的支持,不过并不是所有的 Android
设备½配备了必需的硬件。另外还有摄像支持。
过去,移动应用程序努力向桌面应用程序看½的两个领域分别是图½/媒½和数据存储方法。Android 通过提供对
2D
和
3D
图½
的内½支持,包括
OpenGL
库,解决了图½方面的挑战。由于
Android
平台包括流行的开源
SQLite
数据库,因此缓解了数据
存储的负担。图
1
显示一个简化的
Android
½件层次结构。
图
1. Android
½件层次结构
3
应用程序架构
如前所述,Android 运行在
Linux
内核上。Android 应用程序是用
Java
编程语言编写的,它们在一个虚拟机(VM)中运行。
需要注意的是,这个
VM
并非您想象中的
JVM,而是 Dalvik Virtual Machine,这是一种开源技术。每个 Android
应用程序½
在
Dalvik VM
的一个实例中运行,这个实例驻留在一个由
Linux
内核管理的进程中,如下图所示。
Android
开发简介
Android
应用程序由一个或多个组件组成:
活动
具有可视
UI
的应用程序是用活动实现的。½用户从主屏幕或应用程序启动器选择一个应用程序时,就会开始一个动½。
服务
服务应该用于任½需要持续较长时间的应用程序,例如½络监视器或更新检查应用程序。
内容提供程序
可以将内容提供程序看½数据库服务器。内容提供程序的任务是管理对持久数据的访问,例如
SQLite
数据库。如果应用
程序非常简单,那么可½不需要创建内容提供程序。如果要构建一个较大的应用程序,或者构建需要为多个活动或应用程
序提供数据的应用程序,那么可以½用内容提供程序实现数据访问。
广播接收器
Android
应用程序可用于处理一个数据元素,或者对一个事件(例如接收文本消息)做出响应。
Android
应用程序是连同一个
AndroidManifest.xml
文件一起部½到设备的。AndroidManifest.xml 包含必要的配½信息,以
便将它适½地安装到设备。它包括必需的类名和应用程序½够处理的事件类型,以及运行应用程序所需的许可。例如,如果应用程
序需要访问½络
—
例如为了下½½一个文件
—
那么
manifest
文件中必须显式地列出该许可。很多应用程序可½启用了这个特定
的许可。这种声明式安全性有助于减少恶意应用程序损害设备的可½性。
下一节讨论构建
Android
应用程序所需的开发环境。
4
所需的工具
开始开发
Android
应用程序的最简捷的方式是下½½
Android SDK
和
Eclipse IDE(参见
参考资料)
。Android 开发可以在
Microsoft® Windows®、Mac OS X
或
Linux
上进行。
本文假设您½用的是
Eclipse IDE
和用于
Eclipse
的
Android Developer Tools
插件。Android 应用程序是用
Java
语言编写
的,½是是在
Dalvik VM(非 Java
虚拟机)中编译和执行的。在
Eclipse
中用
Java
语言编程非常简单;Eclipse 提供一个丰
富的
Java
环境,包括上下文敏感帮助和代码提示。Java 代码通过编译后,Android
Developer Tools
可确保适½地将它打包,
包括
AndroidManifest.xml
文件。
½然没有
Eclipse
和
Android Developer Tools
插件也可以开发
Android
应用程序,½是那样就需要熟悉
Android SDK。
Android SDK
是½为一个
ZIP
文件发布的,可以将该文件解压到硬盘上的一个目½中。由于有多个
SDK
更新,建议有意识地组
织开发环境,以便在不同的
SDK
安装之间½松地切换。SDK 包括:
android.jar
Java
½档文件,其中包含构建应用程序所需的所有的
Android SDK
类。
documention.html
和
docs
目½
本地和½上提供的
SDK
文档。这些文档的主要½式为
JavaDocs,以便于在 SDK
中导航大量的包。文档还包括一个高
级开发指南和
Android
社区的链接。
Samples
目½
samples
子目½包含各种应用程序的源代码,包括
ApiDemo,该应用程序演示了很多 API。这个示例应用程序可以½为
Android
应用程序开发的良½起点。
Tools
目½
包含所有用于构建
Android
应用程序的½令行工具。
最常用、
最有用的工具是
adb
实用程序
(Android
Debug Bridge)
。
usb_driver
该目½包含将开发环境连接到支持
Android
的设备(例如
G1
或
Android Dev 1
解锁开发手机)所需的驱动程序。只
有
Windows
平台的开发人员才需要这些文件。
Android
应用程序可以在实际的设备上运行,也可以在
Android SDK
附带的
Android Emulator
上运行。图
3
显示
Android
Emulator
的主屏幕。
图
3. Android Emulator
Android
开发简介
5
Android Debug Bridge
adb
实用程序支持一些可选½令行参数,以提供强大的特性,例如复制文件到设备或从设备复制文件。可以½用
shell
½令行参数
连接到手机本身,并发送基本的
shell
½令。图
4
显示在通过
USB
线连接到
Windows
笔记本电脑的一个实际设备上运行的
adb
shell
½令。
图
4.
½用
adb
shell
½令
评论