記得剛從事Android開發的工做時,市面上鮮有Android開發書籍可供參考,不少時候遇到問題只能本身去閱讀源碼,慢慢地探索。通過這麼多年的發展和積累,涌現了不少優秀的開發者和分享者,有不少參考價值很高的入門和進階的書籍,推進了國內Android開發者技術水平的提高,《Android應用開發進階》也但願可以爲此提供哪怕一點點的貢獻。 本書並不試圖介紹Android開發的各個方面,由於有些專題甚至能夠單獨成書了,這裏只涉及到Android開發者常常會遇到的熱門話題,若是可以給Android開發者的工做提供一些幫助或啓發,就是它存在的價值。html
第一章介紹了自定義控件的基本原理,包括View的繪製流程和觸摸事件的處理;總結了自定義控件中經常使用的一些方法;經過案例來展現如何完成一個自定義控件;最後介紹了自定義控件中性能優化的問題。java
第二章介紹了在實際開發中經常使用輪子的使用方法以及其實現的原理。這些輪子包括Butter Knife、EventBus、Dagger、OkHttp、Retrofit、Volley、RxJava。android
第三章經過Google官方的架構示例項目To-Do,詳細介紹了Android的應用架構,包括MVP,MVP-Clean,MVP-Dagger,MVP-RxJava,MVVM-DataBinding,MVVM-Live。git
第四章介紹了實戰項目AndroidPlus ,AndroidPlus是一個專一於Andriod領域的知識問答與分享平臺,遵循Material Design,使用了MVP-Dagger架構,提供Java版本和Kotlin版本的實現。github
第五章介紹了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開發者入門與進階提高。框架
——張遠平 騰訊企業發展事業羣mvvm
當初與做者一同做爲職場新人從事Android Framework的開發工做,做者愛鑽研與分享,不放過底層技術細節,他的文章和demo幫助了衆多小夥伴。本書基於做者在Android開發領域的深厚積累,深刻淺出,是Android開發者入門與進階的不二之選。
——李強 珍愛網架構師
做者對當前Android應用開發相關的熱門內容進行了深刻剖析,相信可以解答讀者朋友在Android應用開發時遇到的一些疑惑,而且用一個完整的應用案例展現了Android應用開發的架構使用,爲讀者朋友開發本身的應用提供了有價值的參考。
——劉大銅 陸金所Android工程師
本書適用於具備Android開發經驗的讀者或工程師。對於初級開發者,本書可做爲進階的參考用書,對於高級開發者本書亦具備必定的參考價值
qq羣: 805746225
微信公衆號:Android應用開發進階
Github:github.com/uncleleonfa…