本书通过给Andorid开发人员讲解一些可以提高开发效率的知识,让大家在作者的带领下提高自己的开发水平,让自己的项目更加高效与稳定。书中重点讲解了Andorid开中的一些进阶技术,如Andorid TV开发、Flutter等。
本书涵盖的主要内容有Android Studio开发环境搭建;Android新控件的使用;掌握Android相关辅助工具;Android应用测试;Android应用安全;Android Rom详解;Android优秀开源库的使用;NDK编译;线程与进程IPC;Android TV开发;Flutter从入门到实战;项目实践从0到1;设计模式详解。
本书适合有Android相关开发基础的进阶读者阅读,希望能够通过阅读本书,达到学习新技术、新架构、新思维,完成质的飞跃与转变。
封面图
目录
- 前言
- 第1篇 高效开发基础
- 第1章 高效开发工具2
- 1.1 使用Android Studio进行高效开发2
- 1.1.1 认识Android Studio2
- 1.1.2 安装与使用Android Studio7
- 1.2 常用的Android Studio高效插件13
- 1.3 Android Studio小技巧19
- 1.3.1 熟悉Gradle构建流程与脚本19
- 1.3.2 Lint静态代码分析22
- 1.3.3 使用Android Studio进行调试23
- 1.3.4 代码重构26
- 第2章 提高效率,从“新”开始28
- 2.1 新布局方式:ConstraintLayout28
- 2.1.1 相对定位28
- 2.1.2 边距30
- 2.1.3 居中定位和偏移31
- 2.1.4 环形定位32
- 2.1.5 尺寸约束33
- 2.1.6 链约束34
- 2.2 新包引入方式:AndroidX36
- 2.3 新架构:Jetpack37
- 2.4 新动画:Lottie40
- 2.5 新发展:Material Design42
- 第3章 认识Android相关辅助工具44
- 3.1 版本控制和源代码管理工具44
- 3.1.1 SVN的基本用法44
- 3.1.2 Git的基本用法49
- 3.2 9-Patch的制作54
- 3.3 抓包工具Fiddler57
- 3.4 布局分析器与结构视图工具67
- 3.5 反编译工具69
- 第2篇 核心技术详解
- 第4章 线程与进程IPC76
- 4.1 Handler与Looper76
- 4.2 Thread线程79
- 4.3 IPC进程间通信85
- 第5章 Android应用安全98
- 5.1 Android常见漏洞及安全要点98
- 5.1.1 Android常见漏洞98
- 5.1.2 Android应用安全要点103
- 5.2 Android混淆与加固103
- 5.2.1 Android混淆104
- 5.2.2 Android应用加固110
- 5.3 Android数据加密与签名112
- 5.3.1 Android数据加密112
- 5.3.2 Android签名115
- 5.4 Android开发规范118
- 第6章 Android应用测试135
- 6.1 Android测试方法和原则135
- 6.1.1 Android测试方法136
- 6.1.2 Android测试原则137
- 6.2 Android应用测试内容140
- 6.3 编写Android应用测试用例144
- 6.3.1 编写Android本地测试用例145
- 6.3.2 编写Android仪器化测试用例151
- 6.4 Android应用测试主流框架155
- 6.4.1 Espresso测试框架155
- 6.4.2 UI Automator测试框架164
- 6.4.3 Robolectric测试框架166
- 第7章 定制与适配177
- 7.1 定制主题与样式177
- 7.1.1 定义原则177
- 7.1.2 自定义主题178
- 7.1.3 自定义样式180
- 7.2 定制Dialog180
- 7.3 定制Notification184
- 7.4 自定义View188
- 7.5 Android适配与国际化处理196
- 7.5.1 Android适配196
- 7.5.2 语言国际化209
- 第3篇 拓展与实践
- 第8章 深入探索Android ROM214
- 8.1 了解Android平台214
- 8.2 Android系统架构218
- 8.3 Android平台源码结构221
- 8.4 编译Linux Kernel229
- 8.5 编写系统应用233
- 8.6 Android ROM常用知识点240
- 第9章 Android TV开发243
- 9.1 了解Android TV243
- 9.1.1 Android TV相关技术名词243
- 9.1.2 了解Android TV机顶盒249
- 9.2 Android TV开发规范及注意事项250
- 9.2.1 Android TV设计准则250
- 9.2.2 Android TV开发注意事项254
- 9.3 Android TV开发的常用ADB命令257
- 9.4 构建Android TV应用258
- 第10章 Flutter从入门到实战263
- 10.1 认识Flutter263
- 10.2 Flutter开发环境搭建和调试266
- 10.2.1 开发环境的搭建266
- 10.2.2 模拟器的安装与调试273
- 10.3 Flutter常用的Widget和布局277
- 10.3.1 Flutter基础Widget279
- 10.3.2 Flutter基础布局287
- 10.4 HTTP网络请求详解294
- 10.4.1 HTTP的请求方式简介294
- 10.4.2 Flutter HTTP网络请求实现的区别和特点295
- 10.5 Flutter与Android305
- 10.6 Flutter的Android和iOS应用打包309
- 10.6.1 Flutter的Android应用打包309
- 10.6.2 Flutter的iOS应用打包310
- 第11章 设计模式详解312
- 11.1 软件设计原则312
- 11.1.1 单一职责原则312
- 11.1.2 里氏替换原则313
- 11.1.3 依赖倒转原则313
- 11.1.4 接口隔离原则314
- 11.1.5 迪米特原则314
- 11.1.6 开闭原则315
- 11.1.7 合成复用原则315
- 11.2 软件设计模式之创建型模式317
- 11.2.1 单例模式318
- 11.2.2 工厂模式321
- 11.2.3 抽象工厂模式322
- 11.2.4 建造者模式325
- 11.2.5 原型模式328
- 11.3 软件设计模式之结构型模式329
- 11.3.1 适配器模式330
- 11.3.2 外观模式333
- 11.3.3 桥接模式334
- 11.3.4 装饰器模式336
- 11.3.5 代理模式338
- 11.3.6 享元模式340
- 11.3.7 组合模式342
- 11.4 软件设计模式之行为型模式345
- 11.4.1 模板方法模式345
- 11.4.2 策略模式346
- 11.4.3 命令模式348
- 11.4.4 责任链模式350
- 11.4.5 状态模式352
- 11.4.6 观察者模式354
- 11.4.7 中介模式356
- 11.4.8 迭代器模式359
- 11.4.9 访问者模式361
- 11.4.10 备忘录模式364
- 11.4.11 解释器模式366
- 第12章 项目实践从0到1370
- 12.1 创建项目370
- 12.2 项目核心逻辑的实现372
- 12.3 App项目调试380
- 12.4 打包签名384
- 12.5 自动化压力测试387