Android应用开发进阶

记得刚从事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应用开发进阶

Github:https://github.com/uncleleonfan

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,126评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,254评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,445评论 0 341
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,185评论 1 278
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,178评论 5 371
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,970评论 1 284
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,276评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,927评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,400评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,883评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,997评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,646评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,213评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,204评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,423评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,423评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,722评论 2 345

推荐阅读更多精彩内容