前言
对于蜂窝技术和移动计算来说,Android是“开放源码的革命”,至少是革命的一部分。从已经不存在的Openmoko FreeRunner到QT Embedded、Moblin、 LiMo、 Debian Mobile,以及Maemo和最近刚刚开放源码的Symbian OS、刚刚消失的HP WebOS,人们对于提供开放源码的蜂窝技术已经做出了许多的尝试。我们也不要忘记闭源系统的忠实拥趸:BlackBerry OS、Apple iPhone和Microsoft Windows Mobile(这些系统都有开发人员工具箱,但是它们的OS都不是开放源码的,并且常常有其他的“单击合同”(click-wrap)限制)。
但是,正如Mike O扗ell曾经说过的,“空谈不能预测未来”。Android是否能在其他竞争者中间占据重要位置?当我们开始组织本书的材料时,我们认为它已经做到了,实践也证明了:Android绝对占据一席之地!本书旨在帮助Android开发者社区分享知识,贡献这些知识的开发人员们将会使追随者们更轻松地进行Android的开发工作。
关于Android
Android是一个移动技术平台,为蜂窝电话、平板电脑和其他手持或移动设备(甚至上网本)提供Linux操作系统的能力和可移植性,以及标准高级语言和API的可靠性和可移植性。Android应用使用Eclipse等工具,以Java语言编写,依靠Android API编译并转换为用于Dalvik VM的字节码。
因此,Android的OS家族与Openmoko、QT Embedded、 MeeGo、OPhone、 LiMo和其他基于Linux的蜂窝电话项目相关联。Android还与BlackBerry和Java ME手机的编程语言,以及Java和更广泛的Java企业应用程序相关联。
Android的销售量已经持续攀升;来自NPD的一篇报道称,2010年第一季度,所有Android设备的销售量超过了iPhone的销售量,上升到第二位(仍然与BlackBerry平台有一定差距)。当然,Android的销售量增长部分原因是主要运营商Verizon“买一送一”的促销行动,但是这并不是全部原因
目录
第1章 入门
1.1 导言:入门
1.2 学习Java语言
1.3 从命令行创建 “Hello, World”应用程序
1.4 在Eclipse中创建“Hello, World”应用程序
1.5 在Windows上安装用于Android开发的IDE
1.6 理解Android生命周期
1.7 通过ADB在模拟器上安装.apk文件
1.8 通过SlideME将应用程序安装到模拟器上
1.9 共享来自其他Eclipse项目的Java类
1.10 引用程序库实现外部功能
1.11 使用SDK样例避免棘手的情况
1.12 保持Android SDK更新
1.13 从模拟器/Android设备获得屏幕截图
1.14 程序:简单的CountDownTimer示例
1.15 程序:Android OS下的小费计算器Tipster
第2章 设计成功的应用程序
2.1 导言:设计成功的Android应用程序
2.2 异常处理
2.3 作为“单例”访问Android应用程序对象
2.4 在用户旋转设备时保存数据
2.5 监控Android设备的电量
2.6 在Android中创建闪屏
2.7 设计会议/网络研讨/编程马拉松/机构用的应用程序
2.8 在Android应用中使用Google Analytics
2.9 简单的手电筒应用程序
2.10 将Android手机应用程序改编为平板电脑应用程序
2.11 设置首次运行的首选项
2.12 为显示格式化时间和日期
2.13 用KeyListener控制输入
2.14 备份Android应用程序数据
2.15 用提示代替工具提示
第3章 测试
3.1 导言:测试
3.2 在Android中进行TDD
3.3 为应用测试设置Android虚拟设备(AVD)
3.4 用基于云的测试在多种设备上进行测试
3.5 测试项目的创建和使用
3.6 应用程序崩溃排错
3.7 用Log.d和LogCat进行调试
3.8 用BugSense自动从用户那里得到缺陷报告
3.9 使用本地运行时应用程序日志分析现场错误情况
3.10 为测试重现活动生命周期场景
3.11 用StrictMode保持应用程序敏捷性
3.12 运行Monkey程序
3.13 发送文本消息以及AVD之间的通话