图书介绍
ANDROID开发进阶从小工到专家【2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载】

- 何红辉著 著
- 出版社: 北京:人民邮电出版社
- ISBN:9787115415912
- 出版时间:2016
- 标注页数:379页
- 文件大小:43MB
- 文件页数:391页
- 主题词:移动终端-应用程序-程序设计
PDF下载
下载说明
ANDROID开发进阶从小工到专家PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 Android的构成基石——四大组件1
1.1 Activity1
1.1.1 Activity的构成3
1.1.2 Activity的4种启动模式5
1.1.3 FragmentActivity与Fragment7
1.2 Service与AIDL8
1.2.1 普通Service8
1.2.2 IntentService9
1.2.3 运行在前台的Service10
1.2.4 AIDL(Android接口描述语言)11
1.3 Broadcast(广播)17
1.3.1 普通广播17
1.3.2 有序广播18
1.3.3 本地广播19
1.3.4 sticky广播19
1.4 ContentProvider(外共享数据)19
1.5 小结26
第2章 创造出丰富多彩的UI——View与动画27
2.1 重要的View控件27
2.1.1 ListView与GridView27
2.1.2 数据展示更好的实现—— RecyclerView32
2.1.3 让页面显示更流畅——ViewPager33
2.2 必须掌握的最重要的技能——自定义控件35
2.2.1 最为自由的一种实现——自定义View36
2.2.2 View的尺寸测量38
2.2.3 Canvas与Paint(画布与画笔)42
2.2.4 自定义ViewGroup45
2.3 Scroller的使用46
2.4 让应用更精彩——动画56
2.4.1 帧动画57
2.4.2 补间动画58
2.4.3 属性动画60
2.4.3.1 属性动画的核心类——ValueAnimator60
2.4.3.2 对任意属性进行动画操作——Object Animator61
2.4.3.3 实现丰富多彩的动画效果——AnimatorSet62
2.4.3.4 动画执行时间——TypeEvaluator与TimeInterpolator63
2.5 小结66
第3章 保证App流畅的关键因素——多线程67
3.1 Android中的消息机制67
3.1.1 处理消息的手段——Handler、Looper与MessageQueue67
3.1.2 在子线程中创建Handler为何会抛出异常72
3.2 Android中的多线程73
3.2.1 多线程的实现——Thread和Runnable73
3.2.2 线程的wait、sleep、join和 yield74
3.2.3 与多线程相关的方法——Callable、Future和FutureTask78
3.2.4 构建服务器应用程序的有效方法——线程池81
3.2.4.1 启动指定数量的线程——ThreadPoolExecutor82
3.2.4.2 定时执行一些任务——Scheduled ThreadPoolExecutor85
3.2.4.3 线程池的使用准则86
3.2.5 同步集合87
3.2.5.1 程序中的优化策略——CopyOnWriteArrayList87
3.2.5.2 提高并发效率——ConcurrentHashMap88
3.2.5.3 有效的方法——BlockingQueue88
3.2.6 同步锁89
3.2.6.1 同步机制关键字——synchronized89
3.2.6.2 显示锁——ReentrantLock与Condition90
3.2.6.3 信号量Semaphore93
3.2.6.4 循环栅栏CyclicBarrier94
3.2.6.5 闭锁CountDownLatch95
3.2.7 创建异步任务更简单——AysncTask的原理97
3.2.7.1 AsyncTask的实现基本原理97
3.2.7.2 实现一个简单的AsyncTask105
3.3 小结108
第4章 HTTP网络请求109
4.1 HTTP网络请求原理109
4.1.1 HTTP的请求方式110
4.1.1.1 GET请求110
4.1.1.2 POST请求110
4.1.1.3 PUT请求111
4.1.1.4 DELETE请求111
4.1.1.5 HEAD请求112
4.1.1.6 TRACE请求112
4.1.1.7 OPTIONS请求113
4.1.2 HTTP报文格式解析113
4.1.2.1 响应报文116
4.1.2.2 常见的请求头部117
4.1.3 简单模拟HTTP服务器117
4.2 Android中执行网络请求126
4.2.1 全面支持HTTP协议——HttpClient126
4.2.2 最佳选择——HttpURLConnection128
4.3 网络框架的设计与实现130
4.3.1 SimpleNet的基本架构130
4.3.2 Request类131
4.3.3 Response类135
4.3.4 请求队列136
4.3.5 NetworkExecutor网络执行器137
4.3.6 执行网络请求的接口——HttpStack139
4.3.7 将请求的回调执行到UI线程——ResponseDelivery142
4.3.8 手动实现文件上传144
4.3.8.1 自定义实现MultipartEntity144
4.3.8.2 SimpleNet中实现文件上传149
4.4 小结151
第5章 独特高效的数据存储——SQLite数据库152
5.1 SQLite3的基本介绍152
5.1.1 SQLite前端解析系统153
5.1.2 SQLite后端引擎154
5.2 SQLite中的SQL语句154
5.2.1 创建数据库154
5.2.2 创建表154
5.2.3 插入数据159
5.2.4 select语句161
5.2.5 update语句168
5.2.6 delete语句169
5.2.7 修改表169
5.2.8 创建索引170
5.2.9 创建视图171
5.2.10 创建触发器171
5.2.11 drop命令172
5.3 Android中的数据库开发173
5.3.1 数据库基本类型与接口173
5.3.2 Android数据库使用示例177
5.3.3 数据库升级181
5.3.4 Android中数据库的异步操作181
5.4 数据库框架ActiveAndroid的使用与基本原理184
5.4.1 使用ActiveAndroid184
5.4.2 数据库升级188
5.4.3 基本原理189
5.5 小结196
第6章 让程序更优秀的技术——性能优化197
6.1 布局优化197
6.1.1 include布局197
6.1.2 merge标签201
6.1.3 ViewStub视图204
6.1.4 减少视图树层级209
6.2 存优化211
6.3 内存泄漏216
6.3.1 使用Memory Monitor216
6.3.2 内存泄漏检测利器——LeakCanary218
6.4 性能优化222
6.4.1 过度绘制222
6.4.2 Android图形渲染223
6.4.3 数据采集和分析工具——TraceView227
6.5 小结231
第7章 装点程序“门面”——代码规范232
7.1 代码规范的第一个重点——排版232
7.1.1 代码缩进232
7.1.2 长句分割233
7.1.3 一句一行233
7.1.4 大括号233
7.1.5 空行分隔234
7.1.6 空行分隔234
7.1.7 数据与函数的排布235
7.1.8 修饰词顺序235
7.2 注释235
7.2.1 类注释236
7.2.2 注释的位置236
7.2.3 函数的注释237
7.2.4 异常的注释237
7.3 命名238
7.3.1 包的命名238
7.3.2 类与接口的命名238
7.3.3 函数命名238
7.3.4 setter和getter238
7.3.5 字段名239
7.3.6 字段名239
7.4 编码建议239
7.4.1 beak语句239
7.4.2 覆写时添加@Override239
7.4.3 指定集合中的元素类型240
7.4.4 显示指明操作符优先级240
7.5 小结240
第8章 让不断升级的系统更好管理——Git版本控制241
8.1 Git起源243
8.2 Git基本原理243
8.2.1 直接记录快照,而非差异比较243
8.2.2 近乎所有操作都是本地执行244
8.2.3 时刻保持数据完整性245
8.2.4 多数操作仅添加数据245
8.2.5 文件的3种状态245
8.3 Git基本配置246
8.4 Git基本命令247
8.4.1 进行版本控制的第一步——Git init248
8.4.2 常用的版本控制命令——Git status248
8.4.3 添加到追踪列表中——Git add248
8.4.4 提交——Git commit249
8.4.5 查看项目历史记录——Git log250
8.4.6 下载程序——Git clone250
8.4.7 不同分支——Git branch251
8.4.8 签出一个分支——Gitcheckout251
8.4.9 合并分支——Git merge253
8.4.10 解决冲突254
8.4.11 为版本打一个标签——Git tag255
8.4.12 帮助文档——Githelp256
8.5 项目协作——GitHub256
8.5.1 SSH key配置257
8.5.2 项目托管——it remote258
8.5.3 将项目推送到远程仓库——Git push259
8.5.4 更新最代码——Git pull260
8.5.5 Giti gnore忽略文件261
8.5.6 Fork加Pull request多人协作模式262
第9章 开发人员必备的技能——单元测试267
9.1 什么是单元测试267
9.2 为什么要做单元测试267
9.3 不写单元测试的借口268
9.4 如何写单元测试269
9.4.1 第一个单元测试269
9.4.2 Junit简介272
9.4.2.1 Junit执行流程273
9.4.2.2 Jumit的断言和失败提示273
9.4.2.3 运行多个测试类——TestSuite274
9.5 测试哪些内容275
9.5.1 边界条件275
9.5.2 覆盖执行路径275
9.6 模拟所需的功能模块——Mock对象278
9.6.1 手动Mock对象278
9.6.2 使用Mockito库279
9.6.2.1 验证某些行为280
9.6.2.2 如何做一些测试桩(Stub)280
9.6.2.3 参数匹配器281
9.6.2.4 验证函数的确切调用次数、最少调用、从未调用281
9.6.2.5 确保交互操作没有执行在Mock对象上282
9.6.2.6 简化Mock对象的创建282
9.6.2.7 为连续的调用做测试桩(stub)283
9.6.2.8 为回调做测试桩283
9.6.2.9 doReturn()、doThrow()、doAnswer()、doNothing()和doCallRealMethod()系列方法的运用283
9.6.2.10 监控真实对象284
9.6.2.11 为下一步的断言捕获参数285
9.6.2.12 综合示例演练285
9.7 Android中的单元测试288
9.7.1 第一个单元测试288
9.7.2 使用Instrumentation测试290
9.7.2.1 需要Context的测试用例290
9.7.2.2 测试Activity290
9.7.2.3 测试Service293
9.7.2.4 测试ContentProvider295
9.8 测试驱动开发(TDD)简介298
9.9 小结300
第10章 六大原则与设计模式301
10.1 面向对象六大原则301
10.1.1 单一职责原则301
10.1.2 里氏替换原则302
10.1.3 依赖倒置原则304
10.1.4 开闭原则304
10.1.5 接口隔离原则306
10.1.6 迪米特原则308
10.2 设计模式309
10.3 避免掉进过度设计的怪圈310
10.4 反模式311
10.5 小结311
第11章 使系统适应变化——重构312
11.1 为什么要重构312
11.2 什么时候重构313
11.3 常用的重构手法313
11.3.1 提取子函数313
11.3.2 上移函数到父类316
11.3.3 下移函数到子类318
11.3.4 封装固定的调用逻辑320
11.3.5 使用泛型去除重复逻辑320
11.3.6 使用对象避免过多的参数322
11.3.7 重构的支柱——转移函数324
11.3.8 将类型码的转为状态模式326
11.3.9 什么也不做的对象——NullObject模式329
11.3.10 使类保持“苗条身材”——分解“胖”类型331
11.4 小结334
第12章 从码农历练成工程师——综合实战335
12.1 项目需求335
12.2 第一版实现336
12.3 第一版存在的问题与重构352
12.3.1 类型重命名352
12.3.2 去除重复代码353
12.3.3 简化复杂的函数356
12.3.4 明确职责与降低耦合358
12.4 降低复杂性——MVP架构362
12.5 开启单元测试之路——添加单元测试367
12.5.1 创建测试工程367
12.5.2 测试网络请求解析类369
12.5.3 测试数据库操作类371
12.5.4 测试业务逻辑Presenter374
12.5.5 模拟对象375
12.5.6 更多测试377
12.6 小结378
热门推荐
- 358604.html
- 1981089.html
- 3070203.html
- 2937220.html
- 1993862.html
- 2564993.html
- 257143.html
- 3713681.html
- 2471187.html
- 2615323.html
- http://www.ickdjs.cc/book_2946874.html
- http://www.ickdjs.cc/book_3402165.html
- http://www.ickdjs.cc/book_2286008.html
- http://www.ickdjs.cc/book_803378.html
- http://www.ickdjs.cc/book_370997.html
- http://www.ickdjs.cc/book_1470412.html
- http://www.ickdjs.cc/book_2506499.html
- http://www.ickdjs.cc/book_17024.html
- http://www.ickdjs.cc/book_2253463.html
- http://www.ickdjs.cc/book_1865198.html