《Android应用开发进阶》PDF下载

  • 购买积分:15 如何计算积分?
  • 作  者:范磊著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2018
  • ISBN:9787121339585
  • 页数:457 页
图书介绍:本书主要是对Android项目中实用和流行的新技术的使用和分析,首先讲解开发中读者关心的自定义控件实现,常用第三方框架使用和原理分析(包括:EventBus、Otto、ButterKnife、GreenDao、Realm、Dagger2、RxJava2、Volley、OkHttp、Retrofit、Glide、Picasso等);其次讲解一个Android应用的架构设计,包括MVC、MVP、MVVM,通过Github上开源项目的分析和Android系统原生应用的分析来充分展示一个App该如何进行架构设计;然后通过一个实战案例FunChat来实现一个应用的架构设计和一些技术细节的实现;最后延伸出当前Android开发的新的技术领域(VR开发、直播开发和智能硬件开发)以及版本管理工具SourceTree的使用。

第1章 自定义控件 1

1.1 View的绘制流程 1

1.1.1 View和ViewGroup 1

1.1.2 View的绘制流程 4

1.1.3 ViewGroup的绘制流程 8

1.1.4 View绘制流程深入解析 11

1.2 View的触摸事件 14

1.2.1 触摸事件的类型 14

1.2.2 触摸事件的传递过程 17

1.2.3 事件传递细节 19

1.3 自定义控件常用方法总结 29

1.3.1 绘制流程相关 29

1.3.2 事件处理相关 32

1.3.3 其他 42

1.4 自定义控件案例 42

1.4.1 柱状图 42

1.4.2 折线图 50

1.4.3 曲线图 60

1.4.4 渐变圆弧进度条 64

1.4.5 卡片滑动切换 68

1.4.6 ViewPager圆形指示器 74

1.5 自定义控件性能优化 78

第2章 轮子 80

2.1 AppBrain平台 80

2.2 Butter Knife 83

2.2.1 编译时注解 83

2.2.2 Element 85

2.2.3 编译时注解案例 85

2.2.4 Butter Knife源码分析 93

2.2.5 Butter Knife Zelezny插件的实现 102

2.3 EventBus 109

2.3.1 EventBus的使用 110

2.3.2 EventBus源码分析 113

2.3.3 EventBus 3.0索引加速 121

2.4 Dagger2 130

2.4.1 Dagger2的使用 132

2.4.2 Dagger2源码分析 135

2.4.3 Dagger2进阶 150

2.4.4 Component之间的关系 158

2.4.5 Dagger.Android 165

2.5 OkHttp 172

2.5.1 OkHttp的使用 172

2.5.2 OkHttp源码分析 181

2.6 Retrofit 194

2.6.1 Retrofit的使用 195

2.6.2 Retrofit源码分析 199

2.7 Volley 211

2.7.1 Volley的工作流程 212

2.7.2 Volley的使用 213

2.7.3 Volley的封装 216

2.7.4 Volley源码分析 222

2.8 RxJava 232

2.8.1 RxJava的使用 233

2.8.2 RxJava的源码分析 263

第3章 Android应用架构 273

3.1 todo-mvp 275

3.1.1 MVP 275

3.1.2 todo-mvp的实现 276

3.2 todo-mvp-clean 281

3.2.1 Clean架构 281

3.2.2 Clean架构的Android实现 282

3.2.3 todo-mvp-clean的实现 283

3.3 todo-mvp-dagger 289

3.3.1 AppComponent 289

3.3.2 依赖注入 297

3.4 todo-mvp-rxjava 305

3.5 todo-mvvm-databinding 308

3.5.1 MWM 308

3.5.2 Data Binding Library 308

3.5.3 todo-mvvm-databinding的实现 314

3.6 todo-mvvm-live 318

3.6.1 Architecture Components 318

3.6.2 todo-mvvm-live的实现 326

第4章 AndroidPlus项目实战 329

4.1 需求分析 329

4.2 产品设计 330

4.2.1 Material Design 330

4.2.2 思维导图 332

4.2.3 架构设计 333

4.3 Java实现 334

4.3.1 项目准备 334

4.3.2 Dagger集成 337

4.3.3 欢迎界面 339

4.3.4 登录注册 341

4.3.5 主界面 345

4.3.6 首页 348

4.3.7 问题详情 363

4.3.8 回答详情 368

4.3.9 评论 370

4.3.10 分享文章 372

4.3.11 文章 374

4.3.12 个人中心 377

4.3.13 用户详情 388

4.3.14 异常上报、运营统计和应用升级 391

4.3.15 代码混淆 393

4.4 Kotlin实现 394

第5章 开发实践 403

5.1 Android Studio中的Git实践 403

5.1.1 创建远程仓库 403

5.1.2 .gitignore 404

5.1.3 提交和推送 405

5.1.4 分支 407

5.1.5 获取(Fetch) 408

5.1.6 拉取(Pull) 409

5.1.7 衍合(Rebase) 409

5.1.8 Git Flow 410

5.1.9 分支合并 411

5.1.10 移动HEAD 413

5.1.11 贮藏(Stash) 414

5.1.12 重置(Reset) 414

5.1.13 遴选(Cherry Pick) 416

5.2 Android屏幕适配 416

5.2.1 屏幕相关概念 416

5.2.2 图片适配 418

5.2.3 dimen 419

5.2.4 weight 420

5.2.5 百分比布局 422

5.2.6 ConstraintLayout 423

5.2.7 平板适配 427

5.2.8 RTL布局 428

5.3 Android视频播放器 429

5.3.1 ijkPlayer 431

5.3.2 Vitamio 435

5.3.3 PLDroidPlayer 437

5.3.4 测试开发 446

5.4 声网直播实践 450

5.4.1 频道列表 452

5.4.2 视频群聊 454