描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787111654728
内容简介
本书通过给Andorid开发人员讲解一些可以提高开发效率的知识,让大家在作者的带领下提高自己的开发水平,让自己的项目更加高效与稳定。书中重点讲解了Andorid开中的一些进阶技术,如Andorid TV开发、Flutter等。
本书涵盖的主要内容有Android Studio开发环境搭建;Android新控件的使用;掌握Android相关辅助工具;Android应用测试;Android应用安全;Android Rom详解;Android开源库的使用;NDK编译;线程与进程IPC;Android TV开发;Flutter从入门到实战;项目实践从0到1;设计模式详解。
本书适合有Android相关开发基础的进阶读者阅读,希望能够通过阅读本书,达到学习新技术、新架构、新思维,完成质的飞跃与转变。
本书涵盖的主要内容有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
第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
前 言
写作背景
当前,学习移动端开发的人越来越多,尤其是基于Google公司的Android平台开发更是热门。截至作者写作本书,Android系统的最新版本已经更新到了Android Q,其整个生态、开发技术和开发工具也越来越完善与丰富。Android系统被广泛应用于各个领域,例如不仅局限于移动手机端,还应用于诸如电视机顶盒、车载系统、平板终端、智能手表和物联网等领域。Android系统在过去的几年里得到了飞速的发展与提升,这使得Android系统产生了更大的潜力,也吸引了更多的开发者加入Android开发队伍中。相信在未来的时间里,Android系统还会继续给我们带来更多、更大的惊喜。
由于Android在系统、生态上不断扩展与发展,所以对Android开发者的要求也越来越高。尤其是最近几年,Android系统基本上每个大的版本都会更新很多内容,其API也会发生很多变化,而且相关的开发技术、框架、设计理念和开发工具等也都在不断变化。开发者想要跟上Android系统的不断更新和变化,就得不断学习Android的新技术和新架构等知识,这对开发者来说非常重要。这样能够帮助开发人员掌握最新的Android高效开发技术,可以让他们开发的应用更加稳定、安全、高效,从而达到事半功倍的效果。
笔者写作本书也是为了将Android的新技术、新理念、新方向和各种高效编程技术分享给各位喜爱Android开发的人员。本书将围绕Android的核心技术、新技术、新趋势和高效编程经验进行详细讲解。本书主要适合有一定Android开发基础的人员阅读,可以带领他们进一步深入、拓展与提升。希望通过本书,可以帮助读者提升Android开发技术水平,提高思维能力,拓展技术视野。
本书特色
1.内容新颖,注重技术趋势
本书摒弃了一些过时的开发技术,重点讲解了Android平台的核心技术和最新发布的一些新技术、新工具及API,如Android ROM、Android TV开发和Flutter等,这些技术代表着Android技术的未来发展趋势。
2.分享经验,提高开发效率
本书不仅对各重要技术点进行了详细讲解,而且还给出了笔者总结的大量的高效开发经验,可以帮助读者提高开发效率。这些经验都来自于作者多年的实际开发工作,可以让读者少走很多弯路。
3.新技术和新工具实用、有针对性
本书介绍的各种新技术和新工具都非常实用,而且很有针对性,能解决读者在开发中遇到的各种实际问题,如一些新的IDE、辅助工具和开发技巧等,都可以给读者的高效开发打下基础。
4.实例丰富,内容深度适宜
本书每个章节的讲解都安排了实例,以方便读者更好地理解和学习。这些实例有较高的应用价值,可以给读者的项目实践提供借鉴。另外,本书虽然是进阶读物,但内容深度适宜,适合大多数读者阅读。本书中只介绍高频使用的核心技术,而不介绍冷门生僻的技术。
5.提供核心源代码
本书讲解过程中给出了实例的核心代码,并对关键代码做了详细注释,以方便读者更好地理解和实践。读者可以对这些代码进行改造和扩展,将其应用于自己的项目实践之中,从而大大提高开发效率。读者可以在作者的GitHub上获取完整的代码。
本书内容
第1篇 高效开发基础(第1~3章)
本篇重点围绕Android平台的高效开发与经验分享进行讲解,从新的开发工具、辅助工具、开发技巧和新的开发技术等方面进行多角度讲解,为读者的高效开发打下基础。
第1章详细介绍了Android开发最新的IDE——Android Studio,介绍了它的用法、小技巧及新的构建系统Gradle,为读者的高效开发打好IDE工具基础。
第2章主要介绍了Android的各种新技术,如新的布局方式、AndroidX、新架构、新动画、新发展等,还介绍了一些最新的技术框架内容,为读者的高效开发打下坚固的新知识基础。
第3章主要介绍了一些常用的Android开发辅助工具,如版本控制、抓包工具、布局分析器、高效反编译工具等。这些辅助工具有助于开发人员提升开发效率,达到事半功倍的效果。
第2篇 核心技术详解(第4~7章)
本篇重点对Android开发过程中经常用到但又不容易深入理解和正确使用的一些知识点进行详细讲解。希望通过本篇内容,可以让读者对Android应用安全、测试、适配等内容有更深入的理解,并能够将这些内容应用于项目实践中。
第4章详细介绍了线程与进程的特点和区别,并且讲解了进程IPC的相关知识,以及Binder的使用。
第5章重点介绍了Android应用安全等相关核心知识点。安全问题经常被忽略,但非常重要。掌握了应用安全和开发规范的核心知识,将能够更好地提升自己,做到在开发上事半功倍。
第6章详细介绍了Android应用测试的相关知识点,例如测试方法和原则、规范的测试用例的编写、主流测试框架的使用等。详细的Android应用测试可以让我们的应用更加稳定与安全。
第7章详细介绍了Android中定制与适配等相关内容。这部分内容比较浅显易懂,读者要重点掌握一些适配技术和方法,这样所开发出来的应用的用户体验会比较好。
第3篇 拓展与实践(第8~12章)
本篇主要介绍了一些Android的新技术和较为深入的技术,希望通过本篇内容,可以提升读者的
当前,学习移动端开发的人越来越多,尤其是基于Google公司的Android平台开发更是热门。截至作者写作本书,Android系统的最新版本已经更新到了Android Q,其整个生态、开发技术和开发工具也越来越完善与丰富。Android系统被广泛应用于各个领域,例如不仅局限于移动手机端,还应用于诸如电视机顶盒、车载系统、平板终端、智能手表和物联网等领域。Android系统在过去的几年里得到了飞速的发展与提升,这使得Android系统产生了更大的潜力,也吸引了更多的开发者加入Android开发队伍中。相信在未来的时间里,Android系统还会继续给我们带来更多、更大的惊喜。
由于Android在系统、生态上不断扩展与发展,所以对Android开发者的要求也越来越高。尤其是最近几年,Android系统基本上每个大的版本都会更新很多内容,其API也会发生很多变化,而且相关的开发技术、框架、设计理念和开发工具等也都在不断变化。开发者想要跟上Android系统的不断更新和变化,就得不断学习Android的新技术和新架构等知识,这对开发者来说非常重要。这样能够帮助开发人员掌握最新的Android高效开发技术,可以让他们开发的应用更加稳定、安全、高效,从而达到事半功倍的效果。
笔者写作本书也是为了将Android的新技术、新理念、新方向和各种高效编程技术分享给各位喜爱Android开发的人员。本书将围绕Android的核心技术、新技术、新趋势和高效编程经验进行详细讲解。本书主要适合有一定Android开发基础的人员阅读,可以带领他们进一步深入、拓展与提升。希望通过本书,可以帮助读者提升Android开发技术水平,提高思维能力,拓展技术视野。
本书特色
1.内容新颖,注重技术趋势
本书摒弃了一些过时的开发技术,重点讲解了Android平台的核心技术和最新发布的一些新技术、新工具及API,如Android ROM、Android TV开发和Flutter等,这些技术代表着Android技术的未来发展趋势。
2.分享经验,提高开发效率
本书不仅对各重要技术点进行了详细讲解,而且还给出了笔者总结的大量的高效开发经验,可以帮助读者提高开发效率。这些经验都来自于作者多年的实际开发工作,可以让读者少走很多弯路。
3.新技术和新工具实用、有针对性
本书介绍的各种新技术和新工具都非常实用,而且很有针对性,能解决读者在开发中遇到的各种实际问题,如一些新的IDE、辅助工具和开发技巧等,都可以给读者的高效开发打下基础。
4.实例丰富,内容深度适宜
本书每个章节的讲解都安排了实例,以方便读者更好地理解和学习。这些实例有较高的应用价值,可以给读者的项目实践提供借鉴。另外,本书虽然是进阶读物,但内容深度适宜,适合大多数读者阅读。本书中只介绍高频使用的核心技术,而不介绍冷门生僻的技术。
5.提供核心源代码
本书讲解过程中给出了实例的核心代码,并对关键代码做了详细注释,以方便读者更好地理解和实践。读者可以对这些代码进行改造和扩展,将其应用于自己的项目实践之中,从而大大提高开发效率。读者可以在作者的GitHub上获取完整的代码。
本书内容
第1篇 高效开发基础(第1~3章)
本篇重点围绕Android平台的高效开发与经验分享进行讲解,从新的开发工具、辅助工具、开发技巧和新的开发技术等方面进行多角度讲解,为读者的高效开发打下基础。
第1章详细介绍了Android开发最新的IDE——Android Studio,介绍了它的用法、小技巧及新的构建系统Gradle,为读者的高效开发打好IDE工具基础。
第2章主要介绍了Android的各种新技术,如新的布局方式、AndroidX、新架构、新动画、新发展等,还介绍了一些最新的技术框架内容,为读者的高效开发打下坚固的新知识基础。
第3章主要介绍了一些常用的Android开发辅助工具,如版本控制、抓包工具、布局分析器、高效反编译工具等。这些辅助工具有助于开发人员提升开发效率,达到事半功倍的效果。
第2篇 核心技术详解(第4~7章)
本篇重点对Android开发过程中经常用到但又不容易深入理解和正确使用的一些知识点进行详细讲解。希望通过本篇内容,可以让读者对Android应用安全、测试、适配等内容有更深入的理解,并能够将这些内容应用于项目实践中。
第4章详细介绍了线程与进程的特点和区别,并且讲解了进程IPC的相关知识,以及Binder的使用。
第5章重点介绍了Android应用安全等相关核心知识点。安全问题经常被忽略,但非常重要。掌握了应用安全和开发规范的核心知识,将能够更好地提升自己,做到在开发上事半功倍。
第6章详细介绍了Android应用测试的相关知识点,例如测试方法和原则、规范的测试用例的编写、主流测试框架的使用等。详细的Android应用测试可以让我们的应用更加稳定与安全。
第7章详细介绍了Android中定制与适配等相关内容。这部分内容比较浅显易懂,读者要重点掌握一些适配技术和方法,这样所开发出来的应用的用户体验会比较好。
第3篇 拓展与实践(第8~12章)
本篇主要介绍了一些Android的新技术和较为深入的技术,希望通过本篇内容,可以提升读者的
评论
还没有评论。