记得刚从事Android开发的工作时,市面上鲜有Android开发书籍可供参考,很多时候遇到问题只能自己去阅读源码,慢慢地探索。经过这么多年的发展和积累,涌现了很多优秀的开发者和分享者,有很多参考价值很高的入门和进阶的书籍,推动了国内Android开发者技术水平的提升,《Android应用开发进阶》也希望能够为此提供哪怕一点点的贡献。
本书并不试图介绍Android开发的各个方面,因为有些专题甚至可以单独成书了,这里只涉及到Android开发者经常会遇到的热门话题,如果能够给Android开发者的工作提供一些帮助或启发,就是它存在的价值。
特色
- 基于Android Studio 3.0
- 本书对自定义控件进行了深入剖析,帮助读者理解和使用自定义控件
- 本书对常用第三方组件的使用和原理由浅入深地进行了讲解,知其然也知其所以然
- 本书对Android应用各种架构进行了介绍,通过示例展示架构的使用
- 实战项目AndroidPlus将各个知识点进行串联,展示一个完整Android应用的架构和实现
- 实战项目包括Java版和Kotlin版
- 其他开发技巧,如Android Studio中Git的使用
本书内容
第一章介绍了自定义控件的基本原理,包括View的绘制流程和触摸事件的处理;总结了自定义控件中常用的一些方法;通过案例来展示如何完成一个自定义控件;最后介绍了自定义控件中性能优化的问题。
第二章介绍了在实际开发中常用轮子的使用方法以及其实现的原理。这些轮子包括Butter Knife、EventBus、Dagger、OkHttp、Retrofit、Volley、RxJava。
第三章通过Google官方的架构示例项目To-Do,详细介绍了Android的应用架构,包括MVP,MVP-Clean,MVP-Dagger,MVP-RxJava,MVVM-DataBinding,MVVM-Live。
第四章介绍了实战项目AndroidPlus ,AndroidPlus是一个专注于Andriod领域的知识问答与分享平台,遵循Material Design,使用了MVP-Dagger架构,提供Java版本和Kotlin版本的实现。
第五章介绍了Android开发中的一些实践,包括Android Studio中的Git操作,Android屏幕适配的解决方案,常用视频播放器的使用,声网直播的实践。
本书目录
第1章 自定义控件
1.1 View的绘制流程
1.1.1 View和ViewGroup
1.1.2 View的绘制流程
1.1.3 ViewGroup的绘制流程
1.1.4 View绘制流程深入解析
1.2 View的触摸事件
1.2.1 触摸事件的类型
1.2.2 触摸事件的传递过程
1.2.3 事件传递细节
1.3 自定义控件常用方法总结
1.3.1 绘制流程相关
1.3.2 事件处理相关
1.3.3 其他
1.4 自定义控件案例
1.4.1 柱状图
1.4.2 折线图
1.4.3 曲线图
1.4.4 渐变圆弧进度条
1.4.5 卡片滑动切换
1.4.6 ViewPager圆形指示器
1.5 自定义控件性能优化
第2章 轮子
2.1 AppBrain平台
2.2 Butter Knife
2.2.1 编译时注解
2.2.2 Element
2.2.3 编译时注解案例
2.2.4 Butter Knife源码分析
2.2.5 Butter Knife Zelezny插件的实现
2.3 EventBus
2.3.1 EventBus的使用
2.3.2 EventBus源码分析
2.3.3 EventBus 3.0索引加速
2.4 Dagger2
2.4.1 Dagger2的使用
2.4.2 Dagger2源码分析
2.4.3 Dagger2进阶
2.4.4 Component之间的关系
2.4.5 Dagger.Android
2.5 Okh t t p
2.5.1 Okh t t p的使用
2.5.2 Okh t t p源码分析
2.6 Retrofit
2.6.1 Retrofit的使用
2.6.2 Retrofit源码分析
2.7 Volley
2.7.1 Volley的工作流程
2.7.2 Volley的使用
2.7.3 Volley的封装
2.7.4 Volley源码分析
2.8 RxJava
2.8.1 RxJava的使用
2.8.2 RxJava的源码分析
第3章 Android应用架构
3.1 todo—mvp
3.1.1 MVP
3.1.2 todo—mvp的实现
3.2 todo—mvp—clean
3.2.1 Clean架构
3.2.2 Clean架构的Android实现
3.2.3 todo—mvp—clean的实现
3.3 todo—mvp—dagger
3.3.1 AppComponent
3.3.2 依赖注入
3.4 todo—mvp—rxjava
3.5 todo—mvvm—databinding
3.5.1 MVVM
3.5.2 Data Binding Library
3.5.3 todo—mvvm—databinding的实现
3.6 todo—mvvm—live
3.6.1 Architecture Components
3.6.2 todo—mvvm—live的实现
第4章 AndroidPlus项目实战
4.1 需求分析
4.2 产品设计
4.2.1 Material Design
4.2.2 思维导图
4.2.3 架构设计
4.3 Java实现
4.3.1 项目准备
4.3.2 Dagger集成
4.3.3 欢迎界面
4.3.4 登录注册
4.3.5 主界面
4.3.6 首页
4.3.7 问题详情
4.3.8 回答详情
4.3.9 评论
4.3.10 分享文章
4.3.11 文章
4.3.12 个人中心
4.3.13 用户详情
4.3.14 异常上报、运营统计和应用升级
4.3.15 代码混淆
4.4 Kotlin实现
第5章 开发实践
5.1 Android Studio中的Git实践
5.1.1 创建远程仓库
5.1.2 .gitignore
5.1.3 提交和推送
5.1.4 分支
5.1.5 获取(Fetch)
5.1.6 拉取(Pull)
5.1.7 衍合(Rebase)
5.1.8 Git Flow
5.1.9 分支合并
5.1.10 移动HEAD
5.1.11 贮藏(Stash)
5.1.12 重置(Reset)
5.1.13 遴选(Cherry Pick)
5.2 Android屏幕适配
5.2.1 屏幕相关概念
5.2.2 图片适配
5.2.3 dimen
5.2.4 weight
5.2.5 百分比布局
5.2.6 ConstraintLayout
5.2.7 平板适配
5.2.8 RTL布局
5.3 Android视频播放器
5.3.1 ijkPlayer
5.3.2 Vitamio
5.3.3 PLDroidPlayer
5.3.4 测试开发
5.4 声网直播实践
5.4.1 频道列表
5.4.2 视频群聊
推荐语
本书是范磊这些年对 Android技术的总结,从实战角度出发,介绍了现代 Android 开发中涉及的开源框架、UI 架构模式、工程实践等方面的知识,并以一个实际项目将技术点串联起来,向读者展现了一个 Android 开发者的成长奋斗之路。
——顾浩鑫 《Android高级进阶》作者
与作者共事时,其在Android领域扎实的技术功底和探索创新精神给我留下了深刻的印象。本书是作者在一线互联网企业及互联网教育行业工作多年的经验沉淀,展示了Android应用开发的常用技巧,特别是在开源框架、应用架构上独具匠心。全书通俗易懂,非常适合Android开发者入门与进阶提升。
——张远平 腾讯企业发展事业群
当初与作者一同作为职场新人从事Android Framework的开发工作,作者爱钻研与分享,不放过底层技术细节,他的文章和demo帮助了众多小伙伴。本书基于作者在Android开发领域的深厚积累,深入浅出,是Android开发者入门与进阶的不二之选。
——李强 珍爱网架构师
作者对当前Android应用开发相关的热门内容进行了深入剖析,相信能够解答读者朋友在Android应用开发时遇到的一些疑惑,并且用一个完整的应用案例展示了Android应用开发的架构使用,为读者朋友开发自己的应用提供了有价值的参考。
——刘大铜 陆金所Android工程师
面向读者
本书适用于具有Android开发经验的读者或工程师。对于初级开发者,本书可作为进阶的参考用书,对于高级开发者本书亦具有一定的参考价值
购买
互动和勘误
qq群: 805746225
微信公众号:Android应用开发进阶