第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 事件傳遞細節(jié)
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 自定義控件性能優(yōu)化
第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 OkHttp
2.5.1 OkHttp的使用
2.5.2 OkHttp源碼分析
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項目實戰(zhàn)
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 異常上報、運營統(tǒng)計和應用升級
4.3.15 代碼混淆
4.4 Kotlin實現
第5章 開發(fā)實踐
5.1 Android Studio中的Git實踐
5.1.1 創(chuàng)建遠程倉庫
5.1.2 .gitignore
5.1.3 提交和推送
5.1.4 分支
5.1.5 獲?。‵etch)
5.1.6 拉?。≒ull)
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 測試開發(fā)
5.4 聲網直播實踐
5.4.1 頻道列表
5.4.2 視頻群聊