打造高质量Android应用

打造高质量Android应用

Android开发必知的50个诀窍

暂无评价综合评分的显示会考虑用户真实性等多项因素,每部作品出现综合评分的时间不定。
8.021 评价豆瓣读书
免费试读

作品简介

本书是目前唯一一本从开发技巧角度讲解 Android应用开发的著作,旨在迅速提高开发者解决各种疑难问题的能力,从而打造出高质量的 Android应用。作译者都是经验丰富的Android开发工程师,作者悉心总结Android应用开发中会遇到的50个经典问题,这些问题涉及布局、动画、视图、工具、列表、适配器、实用库、与其他编程语言的交互、数据库、构建工具、代码复用、避免代码碎片化等多个方面。本书以“问题解决方案”的形式给出疑难问题的解决方案,同时结合示例代码,深入剖析这些实用的编程技巧和模式,旨在帮助开发人员提高编程效率,改进代码质量,打造高质量的Android应用。

carlos sessa,资深android开发工程师,nasa trained monkeys移动开发公司联合创始人。他活跃于stack overflow,是一位狂热的hack收集者,专注于为android和ios等移动开发平台提供解决方案。

杨云君,资深android系统工程师,不仅在 android应用开发方面积累了丰富的经验,而且熟悉android系统级开发和性能优化,对android系统的架构没汁与实现原理有深入研究。现就职于国际领先的移动通信公司,参与过多款旗舰产品的系统级开发和升级工作,并负责odm产品的性能优化。

作品目录

  1. 推荐序
  2. 致谢
  3. 关于本书
  4. 关于原书封面插图
  5. 第1章 活用布局
  6. Hack 1 使用weight属性实现视图的居中显示
  7. 1.1 合用weightSum属性和layout_weight属性
  8. 1.2 概要
  9. 1.3 外部链接
  10. Hack 2 使用延迟加载以及避免代码重复
  11. 2.1 使用<include/>标签避免代码重复
  12. 2.2 通过ViewStub实现View的延迟加载
  13. 2.3 概要
  14. 2.4 外部链接
  15. Hack 3 创建定制的ViewGroup
  16. 3.1 理解Android绘制视图的方式
  17. 3.2 创建CascadeLayout
  18. 3.3 为子视图添加自定义属性
  19. 3.4 概要
  20. 3.5 外部链接
  21. Hack 4 偏好设置使用技巧
  22. 4.1 概要
  23. 4.2 外部链接
  24. 第2章 添加悦目的动画效果
  25. Hack 5 使用TextSwitcher和ImageSwitcher实现平滑过渡
  26. 5.1 概要
  27. 5.2 外部链接
  28. Hack 6 为ViewGroup的子视图添加悦目的动画效果
  29. 6.1 概要
  30. 6.2 外部链接
  31. Hack 7 在Canvas上显示动画
  32. 7.1 概要
  33. 7.2 外部链接
  34. Hack 8 附加Ken Burns特效的幻灯片
  35. 8.1 概要
  36. 8.2 外部链接
  37. 第3章 使用视图的技巧和窍门
  38. Hack 9 避免在EditText中验证日期
  39. 9.1 概要
  40. 9.2 外部链接
  41. Hack 10 格式化TextView的文本
  42. 10.1 概要
  43. 10.2 外部链接
  44. Hack 11 为文本添加发亮的效果
  45. 11.1 概要
  46. 11.2 外部链接
  47. Hack 12 为背景添加圆角边框
  48. 12.1 概要
  49. 12.2 外部链接
  50. Hack 13 在onCreate()方法中获取View的宽度和高度
  51. 13.1 概要
  52. 13.2 外部链接
  53. Hack 14 VideoView的转屏处理技巧
  54. 14.1 概要
  55. 14.2 外部链接
  56. Hack 15 移除背景以提升Activity启动速度
  57. 15.1 概要
  58. 15.2 外部链接
  59. Hack 16 更改Toast显示位置的技巧
  60. 16.1 概要
  61. 16.2 外部链接
  62. Hack 17 使用Gallery创建向导表单
  63. 17.1 概要
  64. 17.2 外部链接
  65. 第4章 实用工具
  66. Hack 18 在发布正式版本前移除日志语句
  67. 18.1 概要
  68. 18.2 外部链接
  69. Hack 19 使用Hierarchy Viewer工具移除不必要的视图
  70. 19.1 概要
  71. 19.2 外部链接
  72. 第5章 模式
  73. Hack 20 模型–视图–主导器模式
  74. 20.1 概要
  75. 20.2 外部链接
  76. Hack 21 与Activity生命周期绑定的BroadcastReceiver
  77. 21.1 概要
  78. 21.2 外部链接
  79. Hack 22 使用Android库项目时适用的架构模式
  80. 22.1 后台逻辑和模型
  81. 22.2 库项目
  82. 22.3 Android应用程序
  83. 22.4 概要
  84. 22.5 外部链接
  85. Hack 23 同步适配器模式
  86. 23.1 一般方法
  87. 23.2 我的方法
  88. 23.3 概要
  89. 23.4 外部链接
  90. 第6章 活用列表和适配器
  91. Hack 24 处理空列表
  92. 24.1 概要
  93. 24.2 外部链接
  94. Hack 25 通过ViewHolder优化适配器
  95. 25.1 概要
  96. 25.2 外部链接
  97. Hack 26 为ListView添加分段标头
  98. 26.1 创建列表布局
  99. 26.2 创建可视分段标头
  100. 26.3 最后一步
  101. 26.4 概要
  102. 26.5 外部链接
  103. Hack 27 使用Activity和Delegate与适配器交互
  104. 27.1 概要
  105. 27.2 外部链接
  106. Hack 28 充分利用ListView的头视图
  107. 28.1 概要
  108. 28.2 外部链接
  109. Hack 29 在ViewPager中处理转屏
  110. 29.1 概要
  111. 29.2 外部链接
  112. Hack 30 ListView的选择模式
  113. 30.1 概要
  114. 30.2 外部链接
  115. 第7章 实用库
  116. Hack 31 Android面向切面编程
  117. 31.1 概要
  118. 31.2 外部链接
  119. Hack 32 使用Cocos2d-x美化应用程序
  120. 32.1 Cocos2d-x是什么
  121. 32.2 使用Cocos2d-x
  122. 32.3 概要
  123. 32.4 外部链接
  124. 第8章 与其他编程语言交互
  125. Hack 33 在Android上运行Objective-C
  126. 33.1 下载并编译Itoa
  127. 33.2 划分模块
  128. 33.3 创建Java层代码
  129. 33.4 概要
  130. 33.5 外部链接
  131. Hack 34 在Android中使用Scala
  132. 34.1 概要
  133. 34.2 外部链接
  134. 第9章 可复用的代码片段
  135. Hack 35 同时发起多个Intent
  136. 35.1 拍照
  137. 35.2 从相册中选择照片
  138. 35.3 整合两种Intent
  139. 35.4 概要
  140. 35.5 外部链接
  141. Hack 36 在用户反馈中收集信息
  142. 36.1 概要
  143. 36.2 外部链接
  144. Hack 37 向media ContentProvider添加MP3文件
  145. 37.1 使用ContentValues添加MP3文件
  146. 37.2 使用MediaScanner添加MP3文件
  147. 37.3 概要
  148. 37.4 外部链接
  149. Hack 38 为ActionBar添加刷新动作
  150. 38.1 概要
  151. 38.2 外部链接
  152. Hack 39 从Market中获取依赖功能
  153. 39.1 概要
  154. 39.2 外部链接
  155. Hack 40 以后进先出方式加载图片
  156. 40.1 起点:Android示例程序
  157. 40.2 引入executor
  158. 40.3 UI线程——离开返回的无缝衔接
  159. 40.4 注意事项
  160. 40.5 概要
  161. 40.6 外部链接
  162. 第10章 数据库进阶
  163. Hack 41 使用ORMLite构建数据库
  164. 41.1 一个简单的数据模型
  165. 41.2 开始
  166. 41.3 坚如磐石的数据库schema
  167. 41.4 SQLiteOpenHelper——数据库通道
  168. 41.5 用于数据库访问的单例模式
  169. 41.6 CRUD操作一点通
  170. 41.7 查询构建器
  171. 41.8 数据类型和棘手的外部类型
  172. 41.9 原生SQL查询
  173. 41.10 事务
  174. 41.11 概要
  175. 41.12 外部链接
  176. Hack 42 为SQLite添加自定义功能
  177. 42.1 Java代码
  178. 42.2 native代码
  179. 42.3 概要
  180. 42.4 外部链接
  181. Hack 43 数据库批处理
  182. 43.1 不使用批处理操作
  183. 43.2 使用批处理操作
  184. 43.3 使用SQLiteContentProvider执行批处理操作
  185. 43.4 概要
  186. 43.5 外部链接
  187. 第11章 避免代码碎片化
  188. Hack 44 处理熄灯模式
  189. 44.1 Android 2.x
  190. 44.2 Android 3.x
  191. 44.3 在一个Activity中整合两种实现
  192. 44.4 概要
  193. 44.5 外部链接
  194. Hack 45 在旧版本上使用新API
  195. 45.1 使用apply()替代commit()
  196. 45.2 将应用程序安装到SD卡中
  197. 45.3 概要
  198. 45.4 外部链接
  199. Hack 46 向后兼容的通知
  200. 46.1 概要
  201. 46.2 外部链接
  202. Hack 47 使用Fragment创建Tab
  203. 47.1 创建自定义Tab的UI界面
  204. 47.2 在Activity中放置Tab
  205. 47.3 概要
  206. 47.4 外部链接
  207. 第12章 构建工具
  208. Hack 48 使用Apache Maven处理依赖关系
  209. 48.1 概要
  210. 48.2 外部链接
  211. Hack 49 在root过的设备上安装依赖库
  212. 49.1 dex预处理
  213. 49.2 创建与权限相关的XML文件
  214. 49.3 修改AndroidManifest.xml文件
  215. 49.4 概要
  216. 49.5 外部链接
  217. Hack 50 使用Jenkins处理设备多样性
  218. 50.1 创建Jenkins job
  219. 50.2 运行job
  220. 50.3 概要
  221. 50.4 外部链接
载入中