Android高级进阶

本书特色

[

本书是Android的进阶学习指南,主要为Android初中级开发者进阶所需的知识,高级开发者也可以从本书中发现很多共鸣点。本书从8个方面对50个知识点进行分类讲解,包括基础篇、系统架构篇、经验总结篇、新技术篇、性能优化篇、移动安全篇、工具篇、测试篇。熟练掌握这些知识点后,应该就能够应付实际项目开发中的绝大部分问题了。 本书的主要目的在于给读者一个完整的Android中高级开发者知识图谱。笔者希望通过本书的系统讲解,能够帮助读者在面试和工作中收获自己满意的成绩。

]

内容简介

[

本书从基础、架构、安全、性能优化、新技术、测试等角度,通过简单的代码示例详尽地展示了 Android 开发技巧
本书作者技术基础深厚扎实,是新技术的探索和追逐者,他对于技术发自内心地热爱, 是业界非常优秀的 Android 架构师
本书是作者在一线互联网企业工作多年的经验沉淀,从不同角度对 Android 新技术抛砖引玉,由浅入深,将实战中的案例抽象成原型,通俗易懂
本书对于技术的解读朴实风趣,深入浅出,是 Android 工程师的进阶宝典,腾讯、华为、阿里、百度、平安科技等一线移动开发工程师联袂推荐

]

作者简介

[

顾浩鑫,网络 ID:ASCE1885,平安金融科技移动研发工程师,目前主要从事 Android & React Native 相关研发工作,毕业于华中科技大学图像识别与人工智能研究所,曾先后就职于华为、百度、平安科技。,

]

目录

第1篇 基础篇第1章 Android触摸事件传递机制1.1 触摸事件的类型1.2 事件传递的三个阶段1.3 View的事件传递机制1.4 ViewGroup的事件传递机制第2章 Android View的绘制流程2.1 绘制的整体流程2.2 MeasureSpec2.3 Measure2.4 Layout2.5 Draw第3章 Android 动画机制3.1 逐帧动画(Frame Animation)第1篇 基础篇第1章 Android触摸事件传递机制1.1 触摸事件的类型1.2 事件传递的三个阶段1.3 View的事件传递机制1.4 ViewGroup的事件传递机制第2章 Android View的绘制流程2.1 绘制的整体流程2.2 MeasureSpec2.3 Measure2.4 Layout2.5 Draw第3章 Android 动画机制3.1 逐帧动画(Frame Animation)3.1.1 XML 资源文件方式3.1.2 代码方式3.2 补间动画(Tween Animation)3.2.1 插值器 Interpolator3.2.2 AlphaAnimation3.2.3 ScaleAnimation3.2.4 TranslateAnimation3.2.5 RotateAnimation3.2.6 自定义补间动画3.3 属性动画(Property Animation)3.3.1 Evaluator3.3.2 AnimatorSet3.3.3 ValueAnimator3.3.4 ObjectAnimator3.4 过渡动画(Transition Animation)第4章 Support Annotation Library 使用详解4.1 Nullness 注解4.2 资源类型注解4.3 类型定义注解4.4 线程注解4.5 RGB 颜色值注解4.6 值范围注解4.7 权限注解4.8 重写函数注解4.9 返回值注解4.10 @VisibleForTesting4.11 @Keep第5章 Percent Support Library使用详解第6章 Design Support Library使用详解6.1 Snackbar6.2 TextInputLayout6.3 TabLayout6.4 NavigationView6.4.1 导航菜单6.4.2 导航头部6.5 FloatingActionButton6.5.1 使用浮动操作按钮6.5.2 其他选项6.5.3 点击事件6.6 CoordinatorLayout6.7 CollapsingToolbarLayout6.8 BottomSheetBehavior第7章 Android Studio中的NDK开发7.1 ABI的基本概念7.2 引入预编译的二进制 C/C 函数库7.3 直接从 C/C 源码编译7.3.1 配置 ndk.dir 变量7.3.2 在 Gradle 中配置 NDK 模块7.3.3 添加 C/C 文件到指定的目录7.4 使用 .so 文件的注意事项7.4.1 使用高平台版本编译的 .so 文件运行在低版本的设备上7.4.2 混合使用不同的C 运行时编译的 .so 文件7.4.3 没有为每个支持的 CPU 架构提供对应的 .so 文件7.4.4 将 .so 文件放在错误的地方7.4.5 只提供 armeabi 架构的 .so 文件而忽略其他 ABIs 的第8章 Gradle 必知必会8.1 共享变量的定义8.2 通用配置8.3 aar 函数库的引用8.4 签名和混淆的配置第9章 通过Gradle打包发布函数库到JCenter和Maven Central9.1 Maven Central 和 JCenter9.1.1 Maven Central9.1.2 JCenter9.2 Android Studio 获取函数库的原理9.3 上传函数库到 JCenter9.3.1 步骤一:在 Bintray 网站上注册一个账号9.3.2 步骤二:创建一个 Sonatype 账号9.3.3 步骤三:在 Bintray 网站使能自动签名9.3.4 步骤四:生成 POM 相关的信息9.3.5 步骤五:上传函数库到 Bintray9.3.6 步骤六:发布 Bintray 用户仓库到 JCenter9.3.7 步骤七:同步函数库到 Maven Central第10章 Builder模式详解10.1 经典的 Builder 模式10.2 Builder 模式的变种10.3 变种 Builder 模式的自动化生成10.4 开源函数库的例子第11章 注解在 Android 中的应用11.1 注解的定义11.2 标准注解11.2.1 编译相关注解11.2.2 资源相关注解11.2.3 元注解11.3 运行时注解11.4 编译时注解11.4.1 定义注解处理器11.4.2 注册注解处理器11.4.3 android-apt插件第12章 ANR产生的原因及其定位分析12.1 ANR 产生的原因12.2 典型的 ANR 问题场景12.3 ANR 的定位和分析12.3.1 Logcat 日志信息12.3.2 traces.txt 日志信息12.4 ANR的避免和检测12.4.1 StrictMode12.4.2 BlockCanary第13章 Android异步处理技术13.1 Thread13.2 HandlerThread13.3 AsyncQueryHandler13.4 IntentService13.5 Executor Framework13.6 AsyncTask13.7 Loader13.8 总结第14章 Android数据序列化方案研究14.1 Serializable14.2 Parcelable14.3 SQLiteDatabase14.4 SharedPreferences14.5 JSON14.6 Protocol Buffers及Nano-Proto-Buffers14.7 FlatBuffers第15章 Android WebView Java 和 JavaScript 交互详解15.1 Java 调用 JavaScript15.2 JavaScript 调用 Java第2篇 系统架构篇第16章 MVP模式及其在Android中的实践16.1 MVP 的基本概念16.2 MVP 与 MVC 的区别16.3 MVP 的开源实现16.3.1 Android-Architecture16.3.2 TODO-MVP16.3.3 TODO-MVP-Loaders16.3.4 TODO-MVP-Clean16.3.5 TODO-Databinding16.3.6 其他开源参考实现16.4 MVP 的好处16.5 MVP 存在的问题第17章 MVVM模式及Android DataBinding实战17.1 Data Binding 表达式17.2 数据对象17.3 数据绑定17.4 事件绑定第18章 观察者模式的拓展:事件总线18.1 为何要使用18.2 原理18.3 开源实现18.3.1 EventBus18.3.2 otto18.4 与观察者模式及 Android 广播的区别第19章 书写简洁规范的代码19.1 Java 编码规范19.1.1 源代码文件的定义19.1.2 源代码文件的结构19.1.3 遵循的格式19.1.4 命名约定19.1.5 Javadoc19.2 Android 命名规范19.2.1 布局文件的命名19.2.2 资源文件的命名19.2.3 类的命名19.3 CheckStyle 的使用第20章 基于开源项目搭建属于自己的技术堆栈20.1 APP 的整体架构20.2 技术选型的考量点20.3 日志记录能力20.4 JSON 解析能力20.4.1 gson20.4.2 jackson20.4.3 Fastjson20.4.4 LoganSquare20.5 数据库操作能力20.5.1 ActiveAndroid20.5.2 ormlite20.5.3 greenDAO20.5.4 Realm20.6 网络通信能力20.6.1 android-async-http20.6.2 OkHttp20.6.3 Volley20.6.4 Retrofit20.7 图片缓存和显示能力20.7.1 BitmapFun20.7.2 Picasso20.7.3 Glide20.7.4 Fresco20.7.5 Android-Universal-Image-Loader第3篇 经验总结篇第21章 64K方法数限制原理与解决方案21.1 64K 限制的原因21.2 使用 MultiDex 解决 64K 限制的问题21.2.1 Android 5.0 之前的版本21.2.2 Android 5.0 及之后的版本21.3 如何避免出现 64K 限制21.4 配置 MultiDex21.5 MultiDex Support Library 的局限性21.6 在开发阶段优化 MultiDex 的构建第22章 Android 插件框架机制研究与实践22.1 基本概念22.1.1 宿主和插件22.1.2 ClassLoader 机制22.2 开源框架22.2.1 android-pluginmgr22.2.2 dynamic-load-apk22.2.3 DynamicAPK22.2.4 DroidPlugin22.2.5 Small第23章 推送机制实现原理详解23.1 推送的开源实现方案23.1.1 基于 XMPP 协议23.1.2 基于 MQTT 协议23.2 推送的第三方平台23.3 自己实现推送功能23.3.1 长连接的建立(TCPConnectThread)23.3.2 数据的发送(TCPSendThread)23.3.3 数据的接收(TCPReceiveThread)23.3.4 心跳包的实现(TCPHeartBeatThread)第24章 APP 瘦身经验总结24.1 APP 为什么变胖了24.2 从 APK 文件的结构说起24.3 优化图片资源占用的空间24.3.1 无损压缩 [ImageOptim]24.3.2 有损压缩 [ImageAlpha]24.3.3 有损压缩 [TinyPNG]24.3.4 PNG/JPEG 转换为 WebP24.3.5 尽量使用 NinePatch 格式的 PNG 图24.4 使用 Lint 删除无用资源24.5 利用 Android Gradle 配置24.5.1 minifyEnable24.5.2 shrinkResources24.5.3 resConfigs24.5.4 ndk.abiFilters24.6 重构和优化代码24.7 资源混淆24.8 插件化第25章 Android Crash 日志收集原理与实践25.1 Java 层 Crash 捕获机制25.1.1 基本原理25.1.2 线程信息25.1.3 SharedPreference 信息25.1.4 系统设置21.1.5 Logcat 中的日志记录25.1.6 自定义 Log 文件中的内容25.1.7 MemInfo 信息25.2 Native 层 Crash 捕获机制25.3 Crash 的上报第4篇 新技术篇第26章 函数式编程思想及其在Android中的应用26.1 代码的简化26.2 Operators 简介第27章 依赖注入及其在Android中的应用27.1 基本概念27.1.1 构造函数注入27.1.2 Setter 函数注入27.1.3 接口注入27.2 为何需要框架27.3 开源框架的选择27.3.1 ButterKnife27.3.2 RoboGuice27.3.3 Dagger27.3.4 Dagger227.3.5 框架的对比第28章 Android世界的Swift:Kotlin在Android中的应用28.1 选择 Kotlin 的原因28.2 Kotlin 的安装和配置28.3 Kotlin 语言的特性28.3.1 可表达性28.3.2 空类型安全28.3.3 扩展函数28.4 Kotlin 的 Gradle 配置28.5 将 Java 类转换成 Kotlin 类28.6 相关资料第29章 React Native For Android入门指南29.1 环境配置29.1.1 Homebrew29.1.2 nvm29.1.3 Node.js29.1.4 watchman29.1.5 flow29.2 Android 开发环境的要求29.3 React Native 工程配置29.3.1 安装react-native29.3.2 生成工程29.4 Android Studio 工程概览29.5 React Native 依赖库修改为本地信息

封面

Android高级进阶

书名:Android高级进阶

作者:顾浩鑫

页数:536

定价:¥89.0

出版社:电子工业出版社

出版日期:2016-10-01

ISBN:9787121298455

PDF电子书大小:45MB 高清扫描完整版

百度云下载:http://www.chendianrong.com/pdf

发表评论

邮箱地址不会被公开。 必填项已用*标注