首页>参考读物>计算机科学与技术>软件与程序设计

Android开发进阶实战:拓展与提升
作者 : 谭东 著
出版日期 : 2020-05-12
ISBN : 978-7-111-65472-8
定价 : 119.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 408
开本 : 16
原书名 :
原出版社:
属性分类: 店面
包含CD : 无CD
绝版 : 未绝版
图书简介

本书通过给Andorid开发人员讲解一些可以提高开发效率的知识,让大家在作者的带领下提高自己的开发水平,让自己的项目更加高效与稳定。书中重点讲解了Andorid开中的一些进阶技术,如Andorid TV开发、Flutter等。
本书涵盖的主要内容有Android Studio开发环境搭建;Android新控件的使用;掌握Android相关辅助工具;Android应用测试;Android应用安全;Android Rom详解;Android优秀开源库的使用;NDK编译;线程与进程IPC;Android TV开发;Flutter从入门到实战;项目实践从0到1;设计模式详解。
本书适合有Android相关开发基础的进阶读者阅读,希望能够通过阅读本书,达到学习新技术、新架构、新思维,完成质的飞跃与转变。

图书特色

编辑推荐:
资深程序员深入剖析Android开发的新技术、新理念和高效编程技巧
帮助开发者构建更加高级和稳定的应用,并快速提升技术水平和思维能力

内容新颖:摒弃过时的内容,重点介绍Android开发的新技术和新工具
经验分享:结合作者的项目经验,介绍了大量的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的新技术和较为深入的技术,希望通过本篇内容,可以提升读者的开发水平。
  第8章主要介绍了Android系统中的ROM知识,如源码结构、ROM内核编译、系统应用编写及其他一些使用Android ROM的知识点,以便让读者详细地了解Android系统的构成与原理,并扩充一些Android ROM的知识,为更加深入的Android开发打好系统底层的基础。
  第9章带领读者了解和学习基于Android的机顶盒系统开发,分享了大量的Android TV开发的实际项目经验,非常有价值。本章内容也是Android开发的一个热门方向,建议读者能很好地掌握。
  第10章详细地讲解了Google最新的跨平台技术框架——Flutter,帮助读者快速入门Flutter并编写一个简单的应用。本章内容是Android最新、最核心的内容之一,希望读者能够很好地掌握。
  第11章详细介绍了软件开发的23种设计模式,并配有生动、形象的实例进行讲解,便于读者对设计模式有更加深入的理解。因为设计模式可以提升开发者的编程架构思维能力,所以非常重要,需要读者很好地掌握。
  第12章带领读者学习如何从0到1设计和架构一个简单应用,帮助读者了解项目开发流程,并学习一些项目实践中的开发经验。
本书读者对象
  本书主要面向具有Android编程基础而想进一步学习Android新技术、高级技术和高效开发方式的读者。建议读者对Java等面向对象编程语言有一定的了解,敢于尝试新事物,例如新的IDE、新的API、新技术方向等。本书的目的就是提升读者的Android开发水平和经验,带领读者挑战开发极限。
  具体而言,本书主要适合以下读者阅读:
* 有一定Android编程基础的人员;
* 希望进一步提升自己,学习Android新技术的人员;
* Android开发进阶人员;
* Android技术爱好者;
* Android新技术研究者;
* 需要一本Android开发手册的人员;
* 高校相关专业的老师与学生;
* 相关培训机构的学员。
本书阅读建议
* 基础相对薄弱的读者,从第1章开始顺次阅读本书各章节的内容;
* 基础较好的读者,如果想有针对性地学习,可以选择感兴趣的章节进行阅读;
* 建议所有读者都重点学习第2章及第5~10章的相关内容;
* 设计模式非常重要,建议读者重点阅读和学习第11章,以便打好架构思维的基础;
* 阅读时要善于抓住重点,再结合实际场景进行实践,以更好地体会相关技术。
本书配套资源
  本书涉及的所有源代码都已经开源并提供在了GitHub上,读者可以自行下载(下载网址为https://github.com/jaychou2012/android_hight_book)。另外,读者也可以在华章网站www.hzbook.com上搜索到本书,然后单击“资料下载”按钮,即可在本书页面上找到“配书资源”下载链接。
读者反馈
  由于笔者水平所限,书中可能还会存在一些疏漏,敬请读者指正,笔者会及时进行调整和修改。联系邮箱为852041173@qq.com或hzbook2017@163.com。笔者会将一些反馈信息整理在博客中(https://fantasy.blog.csdn.net)。另外,也欢迎读者关注笔者的微信公众号(tandongjay),笔者会定期分享一些技术文章。
致谢
  感谢我的父母和妻子在本书编写过程中所给予的大力支持和鼓励!
  感谢我的老师,让我对计算机产生了兴趣,并且让我的相关技术水平有了很大的提升与拓展!
  感谢我任职的公司,让我有机会在实际项目研发和技术攻关中学习和总结,从而掌握了很多新技术,积累了大量开发经验,为本书的写作积累了一手素材!
  感谢欧振旭编辑在本书出版过程中提供的大力支持与帮助!他非常热心,也很有耐心,他对本书质量的提升给出了有益的建议,并做了大量的工作。

上架指导

计算机\移动开发

封底文字

业内赞誉

Android编程技术是实现移动端应用和构建物联网交互终端应用的主流技术。其丰富的技术生态不断推陈出新,日益成为移动互联网时代应用开发的利器。本书聚焦Android开发实战,系统、深入地剖析了Android当前流行的新技术特性和发展趋势,并结合作者的项目经验给出了Android编程的良好范式,适合Android进阶开发人员阅读。
——联云科技(格力电器大数据中心)工程师 刘磊

学习Android开发并不复杂,倘若碰到良师,更能水到渠成。本书作者拥有丰富的Android开发经验,对Android开发的各个知识点有深入研究。对于想提升Android开发水平的读者而言,阅读本书一定会受益匪浅。
——前芒果TV工程师 周展

Android系统已经诞生10余年,并更新了近30个版本,其系统特性、开发方式也在不断地更新。作为一名开发者,我们有必要及时更新自己的知识。谭东的这本书全面介绍了Android的新特性和开发工具的新功能,能够极大地提高开发人员的工作效率,帮助他们编写出高质量的Android应用。
——字节跳动工程师 桑明明

作者简介

谭东 著:谭东 计算机科学与技术专业硕士。IEEE SPAC 2018最佳论文获得者,CSDN博客专家。有6年多的Android编程经验。毕业后在重庆市科学技术研究院从事移动Android平台的开发工作,之后在重庆广电从事Android与IPTV机顶盒的相关开发工作。对移动平台有浓厚的兴趣,喜欢研究与分析总结,编写了多个开源框架。喜欢创新,熟悉Java、Dart、Node.js和React等多种编程语言与框架。

图书目录

前言
第1篇 高效开发基础
第1章 高效开发工具 2
1.1 使用Android Studio进行高效开发 2
1.1.1 认识Android Studio 2
1.1.2 安装与使用Android Studio 7
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 新布局方式:ConstraintLayout 28
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 新包引入方式:AndroidX 36
2.3 新架构:Jetpack 37
2.4 新动画:Lottie 40
2.5 新发展:Material Design 42
第3章 认识Android相关辅助工具 44
3.1 版本控制和源代码管理工具 44
3.1.1 SVN的基本用法 44
3.1.2 Git的基本用法 49
3.2 9-Patch的制作 54
3.3 抓包工具Fiddler 57
3.4 布局分析器与结构视图工具 67
3.5 反编译工具 69
第2篇 核心技术详解
第4章 线程与进程IPC 76
4.1 Handler与Looper 76
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 定制Dialog 180
7.3 定制Notification 184
7.4 自定义View 188
7.5 Android适配与国际化处理 196
7.5.1 Android适配 196
7.5.2 语言国际化 209
第3篇 拓展与实践
第8章 深入探索Android ROM 214
8.1 了解Android平台 214
8.2 Android系统架构 218
8.3 Android平台源码结构 221
8.4 编译Linux Kernel 229
8.5 编写系统应用 233
8.6 Android ROM常用知识点 240
第9章 Android TV开发 243
9.1 了解Android TV 243
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 认识Flutter 263
10.2 Flutter开发环境搭建和调试 266
10.2.1 开发环境的搭建 266
10.2.2 模拟器的安装与调试 273
10.3 Flutter常用的Widget和布局 277
10.3.1 Flutter基础Widget 279
10.3.2 Flutter基础布局 287
10.4 HTTP网络请求详解 294
10.4.1 HTTP的请求方式简介 294
10.4.2 Flutter HTTP网络请求实现的区别和特点 295
10.5 Flutter与Android 305
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到1 370
12.1 创建项目 370
12.2 项目核心逻辑的实现 372
12.3 App项目调试 380
12.4 打包签名 384
12.5 自动化压力测试 387

教学资源推荐
作者: [美]梁勇(Y.Daniel Liang) 著
作者: 陈家骏 郑滔 编著
作者: 郭志强 邱李华 曹青 等编著
参考读物推荐
作者: Apache Kylin核心团队 著
作者: [美] 卡梅伦?休斯(Cameron Hughes),特雷西?休斯(Tracey Hughes) 著
作者: (美)Erica Sadun  Rich Wardwell 著