Android编程权威指南(第3版)

Android编程权威指南(第3版)

查阅电子书
手机扫码
  • 微信扫一扫

    关注微信公众号

因版权原因待上架

编辑推荐

第3版较之前版本增加了对数据绑定等新工具的介绍,同时新增了针对单元测试、辅助功能和MVVM 架构等主题的章节。如果你熟悉Java 语言,或者了解面向对象编程,那就立刻开始Android 编程之旅吧!

内容简介

Big Nerd Ranch是美国一家专业的移动开发技术培训机构。本书主要以其Android训练营教学课程为基础,融合了几位作者多年的心得体会,是一本完全面向实战的Android编程权威指南。全书共36章,详细介绍了8个Android应用的开发过程。通过这些精心设计的应用,读者可掌握很多重要的理论知识和开发技巧,获得宝贵的开发经验。第3版较之前版本增加了对数据绑定等新工具的介绍,同时新增了针对单元测试、辅助功能和MVVM架构等主题的章节。

作者简介

作者比尔·菲利普斯,Big Nerd Ranch资深讲师。他与人合作开发了广受好评的Android训练营培训课程,并为之编写教材(包括本书的第1版和第2版)。他一直坚持撰写博客、阅读各类文学作品、作曲奏乐以及著书。

章节目录

版权信息

版权声明

献词

致谢

如何学习Android开发

开发必备工具

第1章 Android开发初体验

1.1 Android开发基础

1.2 创建Android项目

1.3 Android Studio使用导航

1.4 用户界面设计

1.5 从布局XML到视图对象

1.6 组件的实际应用

1.7 创建提示消息

1.8 使用模拟器运行应用

1.9 深入学习:Android编译过程

1.10 关于挑战练习

1.11 挑战练习:定制toast消息

第2章 Android与MVC设计模式

2.1 创建新类

2.2 Android与MVC设计模式

2.3 更新视图层

2.4 更新控制器层

2.5 在物理设备上运行应用

2.6 添加图标资源

2.7 挑战练习:为TextView添加监听器

2.8 挑战练习:添加后退按钮

2.9 挑战练习:从按钮到图标按钮

第3章 activity的生命周期

3.1 日志跟踪理解activity生命周期

3.2 设备旋转与activity生命周期

3.3 保存数据以应对设备旋转

3.4 再探activity生命周期

3.5 深入学习:activity内存清理现状

3.6 深入学习:日志记录的级别与方法

3.7 挑战练习:禁止一题多答

3.8 挑战练习:评分

第4章 Android应用的调试

4.1 异常与栈跟踪

4.2 Android特有的调试工具

4.3 挑战练习:探索布局检查器

4.4 挑战练习:探索内存分配跟踪

第5章 第二个activity

5.1 创建第二个activity

5.2 启动activity

5.3 activity间的数据传递

5.4 activity的使用与管理

5.5 挑战练习:堵住漏洞

第6章 Android SDK版本与兼容

6.1 Android SDK版本

6.2 Android编程与兼容性问题

6.3 使用Android开发者文档

6.4 挑战练习:报告编译版本

6.5 挑战练习:限制作弊次数

第7章 UI fragment与fragment管理器

7.1 UI设计的灵活性需求

7.2 引入fragment

7.3 着手开发CriminalIntent

7.4 托管UI fragment

7.5 创建UI fragment

7.6 向FragmentManager添加UI fragment

7.7 采用fragment的应用架构

7.8 深入学习:fragment与支持库

7.9 深入学习:为什么优先使用支持库版fragment

第8章 使用RecyclerView显示列表

8.1 升级CriminalIntent应用的模型层

8.2 使用抽象activity托管fragment

8.3 RecyclerView、ViewHolder和Adapter

8.4 绑定列表项

8.5 响应点击

8.6 深入学习:ListView和GridView

8.7 深入学习:单例

8.8 挑战练习:RecyclerView ViewType

第9章 使用布局与组件创建用户界面

9.1 使用图形布局工具

9.2 引入ConstraintLayout

9.3 深入学习布局属性

9.4 图形布局工具使用小结

9.5 挑战练习:日期格式化

第10章 使用fragment argument

10.1 从fragment中启动activity

10.2 fragment argument

10.3 刷新显示列表项

10.4 通过fragment获取返回结果

10.5 深入学习:为何要用fragment argument

10.6 挑战练习:实现高效的RecyclerView刷新

10.7 挑战练习:优化CrimeLab的表现

第11章 使用ViewPager

11.1 创建CrimePagerActivity

11.2 FragmentStatePagerAdapter与FragmentPagerAdapter

11.3 深入学习:ViewPager的工作原理

11.4 深入学习:以代码的方式创建视图

11.5 挑战练习:恢复CrimeFragment的边距

11.6 挑战练习:添加Jump to First按钮和Jump to Last按钮

第12章 对话框

12.1 创建DialogFragment

12.2 fragment间的数据传递

12.3 挑战练习:更多对话框

12.4 挑战练习:实现响应式DialogFragment

第13章 工具栏

13.1 AppCompat

13.2 工具栏菜单

13.3 实现层级式导航

13.4 可选菜单项

13.5 深入学习:工具栏与操作栏

13.6 挑战练习:删除crime记录

13.7 挑战练习:复数字符串资源

13.8 挑战练习:用于RecyclerView的空视图

第14章 SQLite数据库

14.1 定义schema

14.2 创建初始数据库

14.3 修改CrimeLab类

14.4 写入数据库

14.5 读取数据库

14.6 深入学习:数据库高级主题介绍

14.7 深入学习:应用上下文

14.8 挑战练习:删除crime记录

第15章 隐式intent

15.1 添加按钮组件

15.2 添加嫌疑人信息至模型层

15.3 使用格式化字符串

15.4 使用隐式intent

15.5 挑战练习:ShareCompat

15.6 挑战练习:又一个隐式intent

第16章 使用intent拍照

16.1 布置照片

16.2 文件存储

16.3 使用相机intent

16.4 缩放和显示位图

16.5 功能声明

16.6 挑战练习:优化照片显示

16.7 挑战练习:优化缩略图加载

第17章 双版面主从用户界面

17.1 增加布局灵活性

17.2 activity:fragment的托管者

17.3 深入学习:设备屏幕尺寸的确定

17.4 挑战练习:添加滑动删除功能

第18章 应用本地化

18.1 资源本地化

18.2 配置修饰符

18.3 测试备选资源

18.4 挑战练习:日期本地化

第19章 Android辅助功能

19.1 TalkBack

19.2 实现非文字型元素可读

19.3 提升辅助体验

19.4 深入学习:使用辅助功能扫描器

19.5 挑战练习:优化列表项

19.6 挑战练习:补全上下文信息

19.7 挑战练习:事件主动通知

第20章 数据绑定与MVVM

20.1 为何要用MVVM架构

20.2 创建BeatBox应用

20.3 导入assets

20.4 处理assets

20.5 使用assets

20.6 绑定数据

20.7 访问assets

20.8 深入学习:数据绑定再探

20.9 深入学习:为何使用assets

20.10 深入学习:什么是non-assets

第21章 音频播放与单元测试

21.1 创建SoundPool

21.2 加载音频文件

21.3 播放音频

21.4 添加测试依赖

21.5 创建测试类

21.6 实现测试类

21.7 编写测试方法

21.8 数据绑定回调

21.9 释放音频

21.10 设备旋转和对象保存

21.11 深入学习:是否保留fragment

21.12 深入学习:Espresso与整合测试

21.13 深入学习:虚拟对象与测试

21.14 挑战练习:播放进度控制

第22章 样式与主题

22.1 颜色资源

22.2 样式

22.3 主题

22.4 添加主题颜色

22.5 覆盖主题属性

22.6 修改按钮属性

22.7 深入学习:样式继承拾遗

22.8 深入学习:引用主题属性

第23章 XML drawable

23.1 统一按钮样式

23.2 shape drawable

23.3 state list drawable

23.4 layer list drawable

23.5 深入学习:为什么要用XML drawable

23.6 深入学习:使用mipmap图像

23.7 深入学习:使用9-patch图像

23.8 挑战练习:按钮主题

第24章 深入学习intent和任务

24.1 创建NerdLauncher项目

24.2 解析隐式intent

24.3 在运行时创建显式intent

24.4 任务与回退栈

24.5 使用NerdLauncher应用作为设备主屏幕

24.6 挑战练习:应用图标

24.7 深入学习:进程与任务

24.8 深入学习:并发文档

第25章 HTTP与后台任务

25.1 创建PhotoGallery应用

25.2 网络连接基本

25.3 使用AsyncTask在后台线程上运行代码

25.4 线程与主线程

25.5 从Flickr获取JSON数据

25.6 从AsyncTask回到主线程

25.7 清理AsyncTask

25.8 深入学习:AsyncTask再探

25.9 深入学习:AsyncTask的替代方案

25.10 挑战练习:Gson

25.11 挑战练习:分页

25.12 挑战练习:动态调整网格列

第26章 Looper、Handler和HandlerThread

26.1 配置RecyclerView以显示图片

26.2 批量下载缩略图

26.3 与主线程通信

26.4 创建并启动后台线程

26.5 Message与message handler

26.6 深入学习:AsyncTask与线程

26.7 深入学习:解决图片下载问题

26.8 深入学习:StrictMode

26.9 挑战练习:预加载以及缓存

第27章 搜索

27.1 搜索Flickr网站

27.2 使用SearchView

27.3 使用shared preferences实现轻量级数据存储

27.4 优化应用

27.5 挑战练习:深度优化PhotoGallery应用

第28章 后台服务

28.1 创建IntentService

28.2 服务的作用

28.3 查找最新返回结果

28.4 使用AlarmManager延迟运行服务

28.5 控制定时器

28.6 通知信息

28.7 挑战练习:可穿戴设备上的通知

28.8 深入学习:服务之细节

28.9 深入学习:JobScheduler和JobService

28.10 挑战练习:在Lollipop设备上使用JobService

28.11 深入学习:sync adapter

第29章 broadcast intent

29.1 普通intent和broadcast intent

29.2 接收系统broadcast:重启后唤醒

29.3 过滤前台通知消息

29.4 receiver与长时运行任务

29.5 深入学习:本地事件

29.6 深入学习:探测fragment的状态

第30章 网页浏览

30.1 最后一段Flickr数据

30.2 简单方式:隐式intent

30.3 较难方式:使用WebView

30.4 处理WebView的设备旋转问题

30.5 深入学习:注入JavaScript对象

30.6 深入学习:WebView升级

30.7 挑战练习:使用后退键浏览历史网页

30.8 挑战练习:非HTTP链接支持

第31章 定制视图与触摸事件

31.1 创建DragAndDraw项目

31.2 创建定制视图

31.3 处理触摸事件

31.4 onDraw(...)方法内的图形绘制

31.5 挑战练习:设备旋转问题

31.6 挑战练习:旋转矩形框

第32章 属性动画

32.1 建立场景

32.2 简单属性动画

32.3 播放多个动画

32.4 深入学习:其他动画API

32.5 挑战练习

第33章 地理位置和Play服务

33.1 地理位置和定位类库

33.2 创建Locatr项目

33.3 Play服务定位和模拟器

33.4 创建Locatr应用

33.5 配置Google Play服务

33.6 使用Google Play服务

33.7 基于地理位置的Flickr搜索

33.8 获取定位数据

33.9 获取运行时权限

33.10 寻找并显示图片

33.11 挑战练习:权限使用理由

33.12 挑战练习:进度指示器

第34章 使用地图

34.1 导入Play地图服务库

34.2 Android上的地图服务

34.3 获取Maps API key

34.4 创建地图

34.5 获取更多地理位置数据

34.6 使用地图

34.7 深入学习:团队开发和API key

第35章 material design

35.1 material surface

35.2 动画工具

35.3 新的视图组件

35.4 深入学习material design

第36章 编后语

36.1 终极挑战

36.2 关于我们

36.3 致谢

看完了

Android编程权威指南(第3版)是2017年由人民邮电出版社出版,作者比尔·菲利普斯(BillPhillips)。

得书感谢您对《Android编程权威指南(第3版)》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。

购买这本书

你可能喜欢
算法精粹:经典计算机科学问题的Python实现 电子书
人民邮电出版社《云计算工程》 电子书
针对高校学生的每项云计算技术知识做单独、细致的讲解,易于学习且可读性强; 详细讲述每个技术的来龙去脉,以及各个技术解决方案中相关的联系,让读者知其然,也知其所以然; 以典型企业云计算为模型,细致介绍每种云技术的原理及应用; 符合ICT融合趋势,介绍常用综合云计算技术,包括WLAN、VOIP、网络、数据中心、3G/4G等技术。
Python3基础教程(第2版)(慕课版) 电子书
系统讲解Python基础,涵盖10章相关知识。
Android 源码设计模式解析与实战 电子书
本书适合的读者为初、中、高级Android工程师,也可以作为大专院校相关师生的学习用书和培训学校的教材。
分布式架构原理与实践 电子书
本书从软件结构的发展历史入手,描述了分布式架构的特性和存在的问题,并围绕这些问题展开了分析和实践。