第一行代码:Android(第2版)

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

作品简介

本书被广大Android 开发者誉为“Android学习第一书”。全书系统全面、循序渐进地介绍了Android软件开发的必备知识、经验和技巧。第2版基于Android 7.0对第1版进行了全面更新,将所有知识点都在最新的Android系统上进行重新适配,使用全新的Android Studio开发工具代替之前的Eclipse,并添加了对Material Design、运行时权限、Gradle、RecyclerView、百分比布局、OkHttp、Lambda表达式等全新知识点的详细讲解。

郭霖,Android软件开发工程师。从事Android开发工作6年,有着丰富的项目实战经验,负责及参与开发过多款移动应用与游戏,对Android系统架构及应用层开发有着深入的理解。2013年3月开始,在CSDN上发表Android技术相关博文,很快获得了大量网友的好评。目前博客访问量已超过500万次,评论超过10000条。荣获CSDN认证专家,并被连续评选为CSDN 2013、2014、2015年度博客之星。

作品目录

  1. 前言
  2. 第2版的变化
  3. 读者对象
  4. 本书内容
  5. 源码下载
  6. 致谢
  7. 第1章 开始启程——你的第一行Android代码
  8. 1.1 了解全貌——Android王国简介
  9. 1.1.1 Android系统架构
  10. 1.1.2 Android已发布的版本
  11. 1.1.3 Android应用开发特色
  12. 1.2 手把手带你搭建开发环境
  13. 1.2.1 准备所需要的工具
  14. 1.2.2 搭建开发环境
  15. 1.3 创建你的第一个Android项目
  16. 1.3.1 创建HelloWorld项目
  17. 1.3.2 启动模拟器
  18. 1.3.3 运行HelloWorld
  19. 1.3.4 分析你的第一个Android程序
  20. 1.3.5 详解项目中的资源
  21. 1.3.6 详解build.gradle文件
  22. 1.4 前行必备——掌握日志工具的使用
  23. 1.4.1 使用Android的日志工具Log
  24. 1.4.2 为什么使用Log而不使用System.out
  25. 1.5 小结与点评
  26. 第2章 先从看得到的入手——探究活动
  27. 2.1 活动是什么
  28. 2.2 活动的基本用法
  29. 2.2.1 手动创建活动
  30. 2.2.2 创建和加载布局
  31. 2.2.3 在AndroidManifest文件中注册
  32. 2.2.4 在活动中使用Toast
  33. 2.2.5 在活动中使用Menu
  34. 2.2.6 销毁一个活动
  35. 2.3 使用Intent在活动之间穿梭
  36. 2.3.1 使用显式Intent
  37. 2.3.2 使用隐式Intent
  38. 2.3.3 更多隐式Intent的用法
  39. 2.3.4 向下一个活动传递数据
  40. 2.3.5 返回数据给上一个活动
  41. 2.4 活动的生命周期
  42. 2.4.1 返回栈
  43. 2.4.2 活动状态
  44. 2.4.3 活动的生存期
  45. 2.4.4 体验活动的生命周期
  46. 2.4.5 活动被回收了怎么办
  47. 2.5 活动的启动模式
  48. 2.5.1 standard
  49. 2.5.2 singleTop
  50. 2.5.3 singleTask
  51. 2.5.4 singleInstance
  52. 2.6 活动的最佳实践
  53. 2.6.1 知晓当前是在哪一个活动
  54. 2.6.2 随时随地退出程序
  55. 2.6.3 启动活动的最佳写法
  56. 2.7 小结与点评
  57. 第3章 软件也要拼脸蛋——UI开发的点点滴滴
  58. 3.1 如何编写程序界面
  59. 3.2 常用控件的使用方法
  60. 3.2.1 TextView
  61. 3.2.2 Button
  62. 3.2.3 EditText
  63. 3.2.4 ImageView
  64. 3.2.5 ProgressBar
  65. 3.2.6 AlertDialog
  66. 3.2.7 ProgressDialog
  67. 3.3 详解4种基本布局
  68. 3.3.1 线性布局
  69. 3.3.2 相对布局
  70. 3.3.3 帧布局
  71. 3.3.4 百分比布局
  72. 3.4 系统控件不够用?创建自定义控件
  73. 3.4.1 引入布局
  74. 3.4.2 创建自定义控件
  75. 3.5 最常用和最难用的控件——ListView
  76. 3.5.1 ListView的简单用法
  77. 3.5.2 定制ListView的界面
  78. 3.5.3 提升ListView的运行效率
  79. 3.5.4 ListView的点击事件
  80. 3.6 更强大的滚动控件——RecyclerView
  81. 3.6.1 RecyclerView的基本用法
  82. 3.6.2 实现横向滚动和瀑布流布局
  83. 3.6.3 RecyclerView的点击事件
  84. 3.7 编写界面的最佳实践
  85. 3.7.1 制作Nine-Patch图片
  86. 3.7.2 编写精美的聊天界面
  87. 3.8 小结与点评
  88. 第4章 手机平板要兼顾——探究碎片
  89. 4.1 碎片是什么
  90. 4.2 碎片的使用方式
  91. 4.2.1 碎片的简单用法
  92. 4.2.2 动态添加碎片
  93. 4.2.3 在碎片中模拟返回栈
  94. 4.2.4 碎片和活动之间进行通信
  95. 4.3 碎片的生命周期
  96. 4.3.1 碎片的状态和回调
  97. 4.3.2 体验碎片的生命周期
  98. 4.4 动态加载布局的技巧
  99. 4.4.1 使用限定符
  100. 4.4.2 使用最小宽度限定符
  101. 4.5 碎片的最佳实践——一个简易版的新闻应用
  102. 4.6 小结与点评
  103. 第5章 全局大喇叭——详解广播机制
  104. 5.1 广播机制简介
  105. 5.2 接收系统广播
  106. 5.2.1 动态注册监听网络变化
  107. 5.2.2 静态注册实现开机启动
  108. 5.3 发送自定义广播
  109. 5.3.1 发送标准广播
  110. 5.3.2 发送有序广播
  111. 5.4 使用本地广播
  112. 5.5 广播的最佳实践——实现强制下线功能
  113. 5.6 Git时间——初识版本控制工具
  114. 5.6.1 安装Git
  115. 5.6.2 创建代码仓库
  116. 5.6.3 提交本地代码
  117. 5.7 小结与点评
  118. 第6章 数据存储全方案——详解持久化技术
  119. 6.1 持久化技术简介
  120. 6.2 文件存储
  121. 6.2.1 将数据存储到文件中
  122. 6.2.2 从文件中读取数据
  123. 6.3 SharedPreferences存储
  124. 6.3.1 将数据存储到SharedPreferences中
  125. 6.3.2 从SharedPreferences中读取数据
  126. 6.3.3 实现记住密码功能
  127. 6.4 SQLite数据库存储
  128. 6.4.1 创建数据库
  129. 6.4.2 升级数据库
  130. 6.4.3 添加数据
  131. 6.4.4 更新数据
  132. 6.4.5 删除数据
  133. 6.4.6 查询数据
  134. 6.4.7 使用SQL操作数据库
  135. 6.5 使用LitePal操作数据库
  136. 6.5.1 LitePal简介
  137. 6.5.2 配置LitePal
  138. 6.5.3 创建和升级数据库
  139. 6.5.4 使用LitePal添加数据
  140. 6.5.5 使用LitePal更新数据
  141. 6.5.6 使用LitePal删除数据
  142. 6.5.7 使用LitePal查询数据
  143. 6.6 小结与点评
  144. 第7章 跨程序共享数据——探究内容提供器
  145. 7.1 内容提供器简介
  146. 7.2 运行时权限
  147. 7.2.1 Android权限机制详解
  148. 7.2.2 在程序运行时申请权限
  149. 7.3 访问其他程序中的数据
  150. 7.3.1 ContentResolver的基本用法
  151. 7.3.2 读取系统联系人
  152. 7.4 创建自己的内容提供器
  153. 7.4.1 创建内容提供器的步骤
  154. 7.4.2 实现跨程序数据共享
  155. 7.5 Git时间——版本控制工具进阶
  156. 7.5.1 忽略文件
  157. 7.5.2 查看修改内容
  158. 7.5.3 撤销未提交的修改
  159. 7.5.4 查看提交记录
  160. 7.6 小结与点评
  161. 第8章 丰富你的程序——运用手机多媒体
  162. 8.1 将程序运行到手机上
  163. 8.2 使用通知
  164. 8.2.1 通知的基本用法
  165. 8.2.2 通知的进阶技巧
  166. 8.2.3 通知的高级功能
  167. 8.3 调用摄像头和相册
  168. 8.3.1 调用摄像头拍照
  169. 8.3.2 从相册中选择照片
  170. 8.4 播放多媒体文件
  171. 8.4.1 播放音频
  172. 8.4.2 播放视频
  173. 8.5 小结与点评
  174. 第9章 看看精彩的世界——使用网络技术
  175. 9.1 WebView的用法
  176. 9.2 使用HTTP协议访问网络
  177. 9.2.1 使用HttpURLConnection
  178. 9.2.2 使用OkHttp
  179. 9.3 解析XML格式数据
  180. 9.3.1 Pull解析方式
  181. 9.3.2 SAX解析方式
  182. 9.4 解析JSON格式数据
  183. 9.4.1 使用JSONObject
  184. 9.4.2 使用GSON
  185. 9.5 网络编程的最佳实践
  186. 9.6 小结与点评
  187. 第10章 后台默默的劳动者——探究服务
  188. 10.1 服务是什么
  189. 10.2 Android多线程编程
  190. 10.2.1 线程的基本用法
  191. 10.2.2 在子线程中更新UI
  192. 10.2.3 解析异步消息处理机制
  193. 10.2.4 使用AsyncTask
  194. 10.3 服务的基本用法
  195. 10.3.1 定义一个服务
  196. 10.3.2 启动和停止服务
  197. 10.3.3 活动和服务进行通信
  198. 10.4 服务的生命周期
  199. 10.5 服务的更多技巧
  200. 10.5.1 使用前台服务
  201. 10.5.2 使用IntentService
  202. 10.6 服务的最佳实践——完整版的下载示例
  203. 10.7 小结与点评
  204. 第11章 Android特色开发——基于位置的服务
  205. 11.1 基于位置的服务简介
  206. 11.2 申请API Key
  207. 11.3 使用百度定位
  208. 11.3.1 准备LBS SDK
  209. 11.3.2 确定自己位置的经纬度
  210. 11.3.3 选择定位模式
  211. 11.3.4 看得懂的位置信息
  212. 11.4 使用百度地图
  213. 11.4.1 让地图显示出来
  214. 11.4.2 移动到我的位置
  215. 11.4.3 让“我”显示在地图上
  216. 11.5 Git时间——版本控制工具的高级用法
  217. 11.5.1 分支的用法
  218. 11.5.2 与远程版本库协作
  219. 11.6 小结与点评
  220. 第12章 最佳的UI体验——Material Design实战
  221. 12.1 什么是Material Design
  222. 12.2 Toolbar
  223. 12.3 滑动菜单
  224. 12.3.1 DrawerLayout
  225. 12.3.2 NavigationView
  226. 12.4 悬浮按钮和可交互提示
  227. 12.4.1 FloatingActionButton
  228. 12.4.2 Snackbar
  229. 12.4.3 CoordinatorLayout
  230. 12.5 卡片式布局
  231. 12.5.1 CardView
  232. 12.5.2 AppBarLayout
  233. 12.6 下拉刷新
  234. 12.7 可折叠式标题栏
  235. 12.7.1 CollapsingToolbarLayout
  236. 12.7.2 充分利用系统状态栏空间
  237. 12.8 小结与点评
  238. 第13章 继续进阶——你还应该掌握的高级技巧
  239. 13.1 全局获取Context的技巧
  240. 13.2 使用Intent传递对象
  241. 13.2.1 Serializable方式
  242. 13.2.2 Parcelable方式
  243. 13.3 定制自己的日志工具
  244. 13.4 调试Android程序
  245. 13.5 创建定时任务
  246. 13.5.1 Alarm机制
  247. 13.5.2 Doze模式
  248. 13.6 多窗口模式编程
  249. 13.6.1 进入多窗口模式
  250. 13.6.2 多窗口模式下的生命周期
  251. 13.6.3 禁用多窗口模式
  252. 13.7 Lambda表达式
  253. 13.8 总结
  254. 第14章 进入实战——开发酷欧天气
  255. 14.1 功能需求及技术可行性分析
  256. 14.2 Git时间——将代码托管到GitHub上
  257. 14.3 创建数据库和表
  258. 14.4 遍历全国省市县数据
  259. 14.5 显示天气信息
  260. 14.5.1 定义GSON实体类
  261. 14.5.2 编写天气界面
  262. 14.5.3 将天气显示到界面上
  263. 14.5.4 获取必应每日一图
  264. 14.6 手动更新天气和切换城市
  265. 14.6.1 手动更新天气
  266. 14.6.2 切换城市
  267. 14.7 后台自动更新天气
  268. 14.8 修改图标和名称
  269. 14.9 你还可以做的事情
  270. 第15章 最后一步——将应用发布到360应用商店
  271. 15.1 生成正式签名的APK文件
  272. 15.1.1 使用Android Studio生成
  273. 15.1.2 使用Gradle生成
  274. 15.1.3 生成多渠道APK文件
  275. 15.2 申请360开发者账号
  276. 15.3 发布应用程序
  277. 15.4 嵌入广告进行盈利
  278. 15.4.1 注册腾讯广告联盟账号
  279. 15.4.2 新建媒体和广告位
  280. 15.4.3 接入广告SDK
  281. 15.4.4 重新发布应用程序
  282. 15.5 结束语
  283. 看完了

评论

载入中

热门划线

喜欢这本书的人也喜欢