Android應用開發進階

進擊的範大叔發表於2018-07-28

記得剛從事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:github.com/uncleleonfa…

相關文章