Android程序设计(第二版)
Zigurd Mednieks, Laird Dornin, G. Blake Meike, Masumi Nakamura
祝洪凯, 李妹芳 译
出版时间:2014年06月
页数:493
“对于那些不但想掌握Android编程且想探索其内部架构的人而言,本书再好不过了。”
——Etienne Savard,Amazon.com上对本书
(第1版)的评价
“本书不局限于Android的基础知识,而是深度探讨了各个方面的内容。此外,它重点介绍了Android的数据架构是如何作为使用Web服务的应用的模型,从而实现明显的性能提升以及更好的数据展现。”
——Ajit Jaokar,Amazon.com上对本书(第1版)的评价

本书旨在全面了解Android程序设计,学习如何为手机和平板电脑创造最佳用户体验。第2版做了全面修订,重点探讨Android工具和编程基础,包括使用Android 4 API的最佳实践。如果你熟悉Java或Objective-C编程,通过本书,将会了解如何构建良好的工程应用。
本书的内容组织如下:
· 第一部分会帮助有一定Java或iOS开发经验的编程人员快速入门,了解如何使用Android SDK和Android编程基础。
· 第二部分会深入Android框架,专注于用户界面和图形类层次结构、并发和数据库。理解这部分内容将为了解Android应用如何工作奠定了坚实的基础。
· 第三部分介绍代码骨架和模式,理解它们有助于开发使用Web数据以及Android 4 用户界面规范和API的应用开发。
· 第四部分涵盖一些非常实用的内容,包括Android多媒体、搜索、定位、传感器和账户API,以及原生开发工具箱,支持开发人员添加高级功能。

本书专注于探讨成功的Android开发项目相关的知识和技巧。
Zigurd Mednieks曾是D2 Technologies的首席架构师,现在主要作为咨询顾问为创建基于Android系统和软件的公司提供建议和咨询。
Laird Dornin移动开发架构师,在Java、Android、J2ME、SavaJe和WebKit浏览器库方面有丰富的经验。
G. Blake Meike Amazon高级软件开发工程师,在移动和服务器端平台构建Java应用方面有丰富的经验。
Masumi Nakamura Where Inc.的Big Data和Recommendations组首席架构师,在移动技术领域有丰富的软件工程经验。
  1. 前言
  2. 第一部分 工具和基础
  3. 第1章 Android SDK的安装和系统需求
  4. Android SDK的安装和系统需求
  5. 小试牛刀:确认安装是否能够正常工作
  6. SDK的组件
  7. 保持版本最新
  8. 示例代码
  9. 关于代码阅读
  10. 第2章 Android开发之Java必备基础
  11. Android正在重塑客户端Java
  12. Java类型系统
  13. 作用域
  14. Java编程惯例
  15. 第3章 Android应用的主要组件
  16. 活动、意图和任务
  17. 其他Android组件
  18. 组件生命周期
  19. 静态应用资源和上下文
  20. Android应用时运行的环境
  21. 扩展Android
  22. Android中的并发编程
  23. 序列化
  24. Parcelable
  25. 第4章 应用发布之前的准备工作
  26. 应用签名
  27. 把应用投放到Android市场
  28. 其他发布
  29. Google地图API密钥
  30. 指定API级别的兼容性
  31. 兼容不同的屏幕类型
  32. 第5章 Android软件开发工具Eclipse
  33. Eclipse相关的概念和术语
  34. Eclipse视图和透视图
  35. Eclipse中的Java编程
  36. Eclipse和Android
  37. 预防Bug并保持代码整洁
  38. Eclipse特性和替代品
  39. 第二部分 Android框架
  40. 第6章 构建视图
  41. Android GUI架构
  42. 组装图形界面
  43. 控制器布局
  44. 菜单栏和活动栏
  45. 视图调试和优化
  46. 第7章 Fragment和跨平台支持
  47. 创建Fragment
  48. Fragment生命周期
  49. Fragment管理器
  50. Fragment事务
  51. Support Package
  52. Fragment和布局
  53. 第8章 二维和三维图形的绘制
  54. 自己动手开发部件
  55. Bling
  56. 第9章 数据处理和数据持久化
  57. 关系数据库概览
  58. SQLite
  59. SQL语言
  60. Android应用中的SQL和数据库为中心的数据模型
  61. Android数据库类
  62. Android应用的数据库设计
  63. 使用数据库API:MJAndroid
  64. 第三部分 Android的框架应用
  65. 第10章 运行良好的应用框架
  66. 对生命周期进行可视化
  67. Fragment生命周期可视化
  68. Activity类和运行良好的应用
  69. Application类的生命周期方法
  70. 第11章 构建用户界面
  71. Top-Level设计
  72. 用户界面的可视化编辑 300
  73. 从白板开始
  74. Fragment布局
  75. 折叠和展开可扩展的UI界面
  76. 使得Activity、Fragment、Action Bar和多布局能够一起工作
  77. 其他活动
  78. 第12章 使用内容提供者
  79. 理解内容提供者
  80. 定义提供者的公用API
  81. 编写并集成内容提供者
  82. 文件管理和二进制数据
  83. Android MVC和内容查看器
  84. 一个完整的内容提供者代码:SimpleFinchVideoContentProvider
  85. 声明自己的内容提供者
  86. 第13章 内容提供者作为RESTful Web服务的Facade
  87. 开发RESTful类型的Android应用
  88. Network MVC
  89. Network MVC方式的优点小结
  90. 代码实例:动态列出并缓存YouTube视频内容
  91. Finch YouTube视频示例的源代码结构
  92. 视频搜索应用的各个步骤
  93. 步骤1:UI获取用户输入
  94. 步骤2:控制器监听事件
  95. 步骤3:控制器调用内容提供者(即模型)的managedQuery
  96. 步骤4:实现RESTful请求
  97. 第四部分 高级话题
  98. 第14章 搜索
  99. 搜索界面
  100. 查询建议
  101. 第15章 地理位置和地图定位
  102. 基于地理位置的服务
  103. 地图定位
  104. Google Maps Activity
  105. MapView和MapActivity
  106. 使用MapView
  107. MapView和MyLocationOverlay初始化
  108. 暂停和恢复MapActivity
  109. 通过菜单按钮控制地图
  110. 通过键盘操作地图
  111. 没有地图的地理位置
  112. 街景(StreetView)
  113. 第16章 多媒体
  114. 音频和视频
  115. 播放音频和视频
  116. 录制音频和视频
  117. 存储的媒体内容
  118. 第17章 传感器、NFC、语音、手势和可访问性
  119. 传感器
  120. 近场通信
  121. 手势输入
  122. 可访问性
  123. 第18章 通信、身份认证、同步和社交媒体
  124. 账户信息
  125. 认证和同步
  126. 蓝牙
  127. 第19章 Android本地开发工具箱
  128. 本地方法和JNI调用
  129. Android NDK
  130. NDK提供的本地库文件和头文件
  131. 编译自己定制的库模块
  132. 本地Activity
书名:Android程序设计(第二版)
译者:祝洪凯, 李妹芳 译
国内出版社:机械工业出版社
出版时间:2014年06月
页数:493
书号:978-7-111-46758-8
原版书书名:Programming Android, 2nd Edition
原版书出版商:O'Reilly Media
Zigurd Mednieks
 
Zigurd Mednieks是领先的OEM、企业和创建基于Android系统和软件的创业咨询顾问。在此之前,他是D2 Technologies的首席架构师,D2 Technologies是Voice over IP (VoIP)的技术提供商。在D2 Technologies,他带领工程和产品定义工作,把通信和社交媒体结合到专用的嵌入式系统和Android平台上。
 
 
Laird Dornin
 
Laird Dornin是一名移动开发架构师,在Java、Android、J2ME、SavaJe和WebKit浏览器库方面有丰富的经验。他是Sun Microsystems的J2SE开发团队成员,是Java RMI和Jini的技术专家。他目前是一家大型无线运营商的高级工程师,为该运营商的开发者社区提供Android架构指南和Network API支持。
 
 
G. Blake Meike
 
G. Blake Meike是一个经验丰富的开发人员,在移动和服务端平台构建Java应用方面有丰富的经验。
 
 
Masumi Nakamura
 
Masumi Nakamura(中村真澄)是Placester公司工程副总裁和TechStars的教师,有超过15年的软件行业经验,他熟悉软件的各方面,从移动开发到扩展大规模后台系统,而且他还在运营Paypal公司的一个数据科学团队。
 
 
本书的封面是一只松雀(Pinicola enucleator)。松雀是雀家族的一员,最大的这种“冬季雀”出现在整个北半球针叶林:阿拉斯加、加拿大、斯堪的纳维亚和西伯利亚。更罕见的是,在冬季,有些松雀会往南飞,直到美国的中西部和新英格兰区域,有时甚至到欧洲温带地区。
长大的松雀非常漂亮。雄性松雀和雌性松雀都萌出了黑色的尾巴和翅膀,翅膀上还有白色的羽边。雄性松雀的羽毛以红色为主,雌性松雀的头部和臀部是橄榄色,背部和腹部是灰色,而年轻的松雀颜色则明显更柔和一些。
松雀主要吃蔬菜类食物,包括芽、种子以及各种水果,虽然它们也会吃昆虫,但实际上一般是给年幼的松雀吃。有趣的是,喂养幼儿的松雀妈妈在嘴巴里会长出专门的“小袋子”,用来把食物送回到窝巢中给小松雀吃。