《Android程序设计(原书第2版)》旨在帮助你创建良好的工程化的Android应用,而不仅仅是一些小的示例应用。本书适合不同背景的Android编程人员。如果你一直在用Objective-C为iPhone或MacOS编写应用,你会发现本书中Android工具和Java语言特性等与Android编程相关的介绍能够帮助你理解Android移动应用开发。如果你是一名经验丰富的Java编程人员,会发现本书中介绍的Android应用架构有助于你在这个新的充满活力的Java客户端应用开发中运用你的Java专业知识。简而言之,本书面向的是那些在面向对象语言、移动应用、REST应用及类似领域中有一定经验的人。从本书中,可以更深入地了解Android编程,而这些内容远远不止是一本入门书或者一些在线的教程所能够涵盖的。
《Android程序设计(原书第2版)》的内容组织如下:
第一部分会帮助有一定Java或iOS开发经验的编程人员快速入门,了解如何使用Android SDK和Android编程基础。
第二部分会深入Android框架,专注于用户界面和图形类层次结构、并发和数据库。理解这部分内容将为了解Android应用如何工作奠定了坚实的基础。
第三部分介绍代码骨架和模式,理解它们有助于开发使用Web数据以及Android 4 用户界面规范和API的应用开发。
第四部分涵盖一些非常实用的内容,包括Android多媒体、搜索、定位、传感器和账户API,以及原生开发工具箱,支持开发人员添加高级功能。
前言
第一部分 工具和基础
第1章 Android SDK的安装和系统需求
Android SDK的安装和系统需求
小试牛刀:确认安装是否能够正常工作
SDK的组件
保持版本最新
示例代码
关于代码阅读
第2章 Android开发之Java必备基础
Android正在重塑客户端Java
Java类型系统
作用域
Java编程惯例
第3章 Android应用的主要组件
活动、意图和任务
其他Android组件
组件生命周期
静态应用资源和上下文
Android应用时运行的环境
扩展Android
Android中的并发编程
序列化
Parcelable
第4章 应用发布之前的准备工作
应用签名
把应用投放到Android市场
其他发布
Google地图API密钥
指定API级别的兼容性
兼容不同的屏幕类型
第5章 Android软件开发工具Eclipse
Eclipse相关的概念和术语
Eclipse视图和透视图
Eclipse中的Java编程
Eclipse和Android
预防Bug并保持代码整洁
Eclipse特性和替代品
第二部分 Android框架
第6章 构建视图
Android GUI架构
组装图形界面
控制器布局
菜单栏和活动栏
视图调试和优化
第7章 Fragment和跨平台支持
创建Fragment
Fragment生命周期
Fragment管理器
Fragment事务
Support Package
Fragment和布局
第8章 二维和三维图形的绘制
自己动手开发部件
Bling
第9章 数据处理和数据持久化
关系数据库概览
SQLite
SQL语言
Android应用中的SQL和数据库为中心的数据模型
Android数据库类
Android应用的数据库设计
使用数据库API:MJAndroid
第三部分 Android的框架应用
第10章 运行良好的应用框架
对生命周期进行可视化
Fragment生命周期可视化
Activity类和运行良好的应用
Application类的生命周期方法
第11章 构建用户界面
Top-Level设计
用户界面的可视化编辑
从白板开始
Fragment布局
折叠和展开可扩展的UI界面
使得Activity、Fragment、Action Bar和多布局能够一起工作
其他活动
第12章 使用内容提供者
理解内容提供者
定义提供者的公用API
编写并集成内容提供者
文件管理和二进制数据
Android MVC和内容查看器
一个完整的内容提供者代码:SimpleFinchVideoContentProvider
声明自己的内容提供者
第13章 内容提供者作为RESTful Web服务的Facade
开发RESTful类型的Android应用
Network MVC
Network MVC方式的优点小结
代码实例:动态列出并缓存YouTube视频内容
Finch YouTube视频示例的源代码结构
视频搜索应用的各个步骤
步骤1:UI获取用户输入
步骤2:控制器监听事件
步骤3:控制器调用内容提供者(即模型)的managedQuery
步骤4:实现RESTful请求
第四部分 高级话题
第14章 搜索
搜索界面
查询建议
第15章 地理位置和地图定位
基于地理位置的服务
地图定位
Google Maps Activity
MapView和MapActivity
使用MapView
MapView和MyLocationOverlay初始化
暂停和恢复MapActivity
通过菜单按钮控制地图
通过键盘操作地图
没有地图的地理位置
街景(StreetView)
第16章 多媒体
音频和视频
播放音频和视频
录制音频和视频
存储的媒体内容
第17章 传感器、NFC、语音、手势和可访问性
传感器
近场通信
手势输入
可访问性
第18章 通信、身份认证、同步和社交媒体
账户信息
认证和同步
蓝牙
第19章 Android本地开发工具箱
本地方法和JNI调用
Android NDK
NDK提供的本地库文件和头文件
编译自己定制的库模块
“对于那些不但想掌握Android编程且想探索其内部架构的人而言,本书再好不过了。”
——Etienne Savard Amazon.com上对本书 (第1版)的评价
“本书不局限于Android的基础知识,而是深度探讨了各个方面的内容。此外,它重点介绍了Android的数据架构是如何作为使用Web服务的应用的模型,从而实现明显的性能提升以及更好的数据展现。”
——Ajit Jaokar Amazon.com上对本书 (第1版)的评价