logo
分类于: 其它

简介

Android开发进阶: 从小工到专家

Android开发进阶: 从小工到专家 6.0分

资源最后更新于 2020-03-29 04:13:59

作者:何红辉

出版社:出版社人民邮电出版社

出版日期:2016-07

ISBN:9787115415912

文件格式: pdf

标签: 开发 Android android 准备 移动开发 进阶

简介· · · · · ·

本书是一本专门介绍Android开发的图书。书中首先对Android开发的核心知识点进行深入讲解,然后介绍单元测试、代码规范、版本控制、重构、架构等重要的知识,使得读者在深入掌握技术的同时也帮助他们开阔眼界,且能够以更专业的方式设计应用软件,完成从只会实现功能的初级程序员到软件工程师、设计师的转变。本书的主要内容为:构成Android系统基石的四大组件、创造出丰富多彩的UI设计的控件、保证App流畅的多线程开发、必知必会的HTTP网络请求应用、数据存储的核心SQLite数据库、让程序的性能优化、让程序更整洁的代码规范、管理程序的好帮手Git版本控制,以及需要掌握的高级技术,如单元测试、六大原则与设计模式、重构和综合实战等。本书适合Android开发初学者、程序员学习,也适合作为大中专院校相关专业的师生用书和培训学校的教材。何红辉 : 前友盟(阿里巴巴集团)Android工程师,CSDN博客专家,活跃于国内各大技术社区,热爱开源,热爱技术,热爱分享。Android事件总线开源库(AndroidEventBus)、Colorful作者,开发技术前线站长。
直接下载

想要: 点击会收藏到你的 我的收藏,可以在这里查看

已收: 表示已经收藏

Tips: 注册一个用户 可以通过用户中心得到电子书更新的通知哦

目录

  1. 作者简介
  2. 内容提要
  3. 前言
  4. 为什么写这本书
  5. 本书的特色
  6. 面向的读者
  7. 如何阅读本书
  8. 读者反馈
  9. 代码下载
  10. 致谢
  11. 第1章 Android的构成基石——四大组件
  12. 1.1 Activity
  13. 1.1.1 Activity的构成
  14. 1.1.2 Activity的4种启动模式
  15. 1.1.3 FragmentActivity与Fragment
  16. 1.2 Service与AIDL
  17. 1.2.1 普通Service
  18. 1.2.2 IntentService
  19. 1.2.3 运行在前台的Service
  20. 1.2.4 AIDL(Android接口描述语言)
  21. 1.3 Broadcast(广播)
  22. 1.3.1 普通广播
  23. 1.3.2 有序广播
  24. 1.3.3 本地广播
  25. 1.3.4 sticky广播
  26. 1.4 ContentProvider(外共享数据)
  27. 1.5 小结
  28. 第2章 创造出丰富多彩的UI——View与动画
  29. 2.1 重要的View控件
  30. 2.1.1 ListView与GridView
  31. 2.1.2 数据展示更好的实现——RecyclerView
  32. 2.1.3 让页面显示更流畅——ViewPager
  33. 2.2 必须掌握的最重要的技能——自定义控件
  34. 2.2.1 最为自由的一种实现——自定义View
  35. 2.2.2 View的尺寸测量
  36. 2.2.3 Canvas与Paint(画布与画笔)
  37. 2.2.4 自定义ViewGroup
  38. 2.3 Scroller的使用
  39. 2.4 让应用更精彩——动画
  40. 2.4.1 帧动画
  41. 2.4.2 补间动画
  42. 2.4.3 属性动画
  43. 2.5 小结
  44. 第3章 保证App流畅的关键因素——多线程
  45. 3.1 Android中的消息机制
  46. 3.1.1 处理消息的手段——Handler、Looper与MessageQueue
  47. 3.1.2 在子线程中创建Handler为何会抛出异常
  48. 3.2 Android中的多线程
  49. 3.2.1 多线程的实现——Thread和Runnable
  50. 3.2.2 线程的wait、sleep、join和yield
  51. 3.2.3 与多线程相关的方法——Callable、Future和FutureTask
  52. 3.2.4 构建服务器应用程序的有效方法——线程池
  53. 3.2.5 同步集合
  54. 3.2.6 同步锁
  55. 3.2.7 创建异步任务更简单——AysncTask的原理
  56. 3.3 小结
  57. 第4章 HTTP网络请求
  58. 4.1 HTTP网络请求原理
  59. 4.1.1 HTTP的请求方式
  60. 4.1.2 HTTP报文格式解析
  61. 4.1.3 简单模拟HTTP服务器
  62. 4.2 Android中执行网络请求
  63. 4.2.1 全面支持HTTP协议——HttpClient
  64. 4.2.2 最佳选择——HttpURLConnection
  65. 4.3 网络框架的设计与实现
  66. 4.3.1 SimpleNet的基本架构
  67. 4.3.2 Request类
  68. 4.3.3 Response类
  69. 4.3.4 请求队列
  70. 4.3.5 NetworkExecutor网络执行器
  71. 4.3.6 执行网络请求的接口——HttpStack
  72. 4.3.7 将请求的回调执行到UI线程——ResponseDelivery
  73. 4.3.8 手动实现文件上传
  74. 4.4 小结
  75. 第5章 独特高效的数据存储——SQLite数据库
  76. 5.1 SQLite3的基本介绍
  77. 5.1.1 SQLite前端解析系统
  78. 5.1.2 SQLite后端引擎
  79. 5.2 SQLite中的SQL语句
  80. 5.2.1 创建数据库
  81. 5.2.2 创建表
  82. 5.2.3 插入数据
  83. 5.2.4 select语句
  84. 5.2.5 update语句
  85. 5.2.6 delete语句
  86. 5.2.7 修改表
  87. 5.2.8 创建索引
  88. 5.2.9 创建视图
  89. 5.2.10 创建触发器
  90. 5.2.11 drop命令  
  91. 5.3 Android中的数据库开发
  92. 5.3.1 数据库基本类型与接口
  93. 5.3.2 Android数据库使用示例
  94. 5.3.3 数据库升级
  95. 5.3.4 Android中数据库的异步操作
  96. 5.4 数据库框架ActiveAndroid的使用与基本原理
  97. 5.4.1 使用ActiveAndroid
  98. 5.4.2 数据库升级
  99. 5.4.3 基本原理
  100. 5.5 小结
  101. 第6章 让程序更优秀的技术——性能优化
  102. 6.1 布局优化
  103. 6.1.1 include布局
  104. 6.1.2 merge标签
  105. 6.1.3 ViewStub视图
  106. 6.1.4 减少视图树层级
  107. 6.2 内存优化
  108. 如何管理内存
  109. 6.3 内存泄漏
  110. 6.3.1 使用Memory Monitor
  111. 6.3.2 内存泄漏检测利器——LeakCanary
  112. 6.4 性能优化
  113. 6.4.1 过度绘制
  114. 6.4.2 Android图形渲染
  115. 6.4.3 数据采集和分析工具——TraceView
  116. 6.5 小结
  117. 第7章 装点程序“门面”——代码规范
  118. 7.1 代码规范的第一个重点——排版
  119. 7.1.1 代码缩进
  120. 7.1.2 长句分割
  121. 7.1.3 一句一行
  122. 7.1.4 大括号
  123. 7.1.5 空行分隔
  124. 7.1.6 空行分隔
  125. 7.1.7 数据与函数的排布
  126. 7.1.8 修饰词顺序
  127. 7.2 注释
  128. 7.2.1 类注释
  129. 7.2.2 注释的位置
  130. 7.2.3 函数的注释
  131. 7.2.4 异常的注释
  132. 7.3 命名
  133. 7.3.1 包的命名
  134. 7.3.2 类与接口的命名
  135. 7.3.3 函数命名
  136. 7.3.4 setter和getter
  137. 7.3.5 字段名
  138. 7.3.6 字段名
  139. 7.4 编码建议
  140. 7.4.1 beak语句
  141. 7.4.2 覆写时添加@Override
  142. 7.4.3 指定集合中的元素类型
  143. 7.4.4 显示指明操作符优先级
  144. 7.5 小结
  145. 第8章 让不断升级的系统更好管理——Git版本控制
  146. 8.1 Git起源
  147. 8.2 Git基本原理
  148. 8.2.1 直接记录快照,而非差异比较
  149. 8.2.2 近乎所有操作都是本地执行
  150. 8.2.3 时刻保持数据完整性
  151. 8.2.4 多数操作仅添加数据
  152. 8.2.5 文件的3种状态
  153. 8.3 Git基本配置
  154. 8.4 Git基本命令
  155. 8.4.1 进行版本控制的第一步——Git init
  156. 8.4.2 常用的版本控制命令——Git status
  157. 8.4.3 添加到追踪列表中——Git add
  158. 8.4.4 提交——Git commit
  159. 8.4.5 查看项目历史记录——Git log
  160. 8.4.6 下载程序——Git clone
  161. 8.4.7 不同分支——Git branch
  162. 8.4.8 签出一个分支——Git checkout
  163. 8.4.9 合并分支——Git merge
  164. 8.4.10 解决冲突
  165. 8.4.11 为版本打一个标签——Git tag
  166. 8.4.12 帮助文档——Git help
  167. 8.5 项目协作——GitHub
  168. 8.5.1 SSH key配置
  169. 8.5.2 项目托管——it remote
  170. 8.5.3 将项目推送到远程仓库——Git push
  171. 8.5.4 更新最代码——Git pull
  172. 8.5.5 Giti gnore忽略文件
  173. 8.5.6 Fork加Pull request多人协作模式
  174. 第9章 开发人员必备的技能——单元测试
  175. 9.1 什么是单元测试
  176. 9.2 为什么要做单元测试
  177. 9.3 不写单元测试的借口
  178. 9.4 如何写单元测试
  179. 9.4.1 第一个单元测试
  180. 9.4.2 Junit简介
  181. 9.5 测试哪些内容
  182. 9.5.1 边界条件
  183. 9.5.2 覆盖执行路径
  184. 9.6 模拟所需的功能模块——Mock对象
  185. 9.6.1 手动Mock对象
  186. 9.6.2 使用Mockito库
  187. 9.7 Android中的单元测试
  188. 9.7.1 第一个单元测试
  189. 9.7.2 使用Instrumentation测试
  190. 9.8 测试驱动开发(TDD)简介
  191. 9.9 小结
  192. 第10章 六大原则与设计模式
  193. 10.1 面向对象六大原则
  194. 10.1.1 单一职责原则
  195. 10.1.2 里氏替换原则
  196. 10.1.3 依赖倒置原则
  197. 10.1.4 开闭原则
  198. 10.1.5 接口隔离原则
  199. 10.1.6 迪米特原则
  200. 10.2 设计模式
  201. 模式的4个要素
  202. 10.3 避免掉进过度设计的怪圈
  203. 10.4 反模式
  204. 10.5 小结
  205. 第11章 使系统适应变化——重构
  206. 11.1 为什么要重构
  207. 11.2 什么时候重构
  208. 11.3 常用的重构手法
  209. 11.3.1 提取子函数
  210. 11.3.2 上移函数到父类
  211. 11.3.3 下移函数到子类
  212. 11.3.4 封装固定的调用逻辑
  213. 11.3.5 使用泛型去除重复逻辑
  214. 11.3.6 使用对象避免过多的参数
  215. 11.3.7 重构的支柱——转移函数
  216. 11.3.8 将类型码的转为状态模式
  217. 11.3.9 什么也不做的对象——NullObject模式
  218. 11.3.10 使类保持“苗条身材”——分解“胖”类型
  219. 11.4 小结
  220. 第12章 从码农历练成工程师——综合实战
  221. 12.1 项目需求
  222. 12.2 第一版实现
  223. 12.3 第一版存在的问题与重构
  224. 12.3.1 类型重命名
  225. 12.3.2 去除重复代码
  226. 12.3.3 简化复杂的函数
  227. 12.3.4 明确职责与降低耦合
  228. 12.4 降低复杂性——MVP架构
  229. 12.5 开启单元测试之路——添加单元测试
  230. 12.5.1 创建测试工程
  231. 12.5.2 测试网络请求解析类
  232. 12.5.3 测试数据库操作类
  233. 12.5.4 测试业务逻辑Presenter
  234. 12.5.5 模拟对象
  235. 12.5.6 更多测试
  236. 12.6 小结
  237. 推荐阅读
  238. 看完了