1. 程式人生 > >Android應用商店——專案介紹

Android應用商店——專案介紹

執行效果圖

git1

gif2

gif3

知識點

  1. 沉浸式狀態列
  2. 主框架的實現(如何設計專案架構)
  3. 介面顯示的邏輯(根據資料載入成功、失敗、網路狀況顯示不同的介面)
  4. 頂部欄tablayout的實現
  5. 廣告輪播圖的實現
  6. 自定義recyclerView庫(非常強大)、Section條目
    • recyclerView的高階封裝和使用(對RecyclerView進行封裝,並抽取庫,使其能夠使用在任何專案中,自由應對不同item、header、footer、section)
    • 為recyclerView打造通用adapter
    • 多item佈局實現(通用adapter實現)
    • 載入更多以及header和footer的新增(通用adapter實現)
    • 新增section分割槽操作
  7. 聯動搜尋欄(自定義控制元件),懸浮搜尋框根據滑動展開收起效果實現
  8. 對子view的上拉和下拉重新整理的監聽實現
  9. 自定義WebView
  10. 自定義EnterLayout-管理頁實現
  11. 自定義控制元件(app詳情頁上的Tab)
  12. 自定義控制元件(app詳情頁上可伸縮的TextView)
  13. 自定義控制元件(app詳情頁上下載的進度條,下載完成後,安裝應用)
  14. 自定義控制元件(具彈性效果),彈性recycler和scrollview實現
  15. 自定義控制元件-SubTabNavigator
  16. 自定義控制元件-自定義應用標籤(分配航的原理,測量控制元件,分配每個孩子的位置)

專案整體架構

  • 整體採用 Rxjava + retrofit + dagger2 + mvp
  • RxJava + Retrofit + Okhttp封裝-網路請求
  • RxJava + Retrofit + Okhttp封裝-資料持久化(快取)
  • RxJava + Retrofit + Okhttp封裝-異常處理
  • RxJava + Retrofit + Okhttp封裝-多檔案下載斷電續傳
  • RxJava + Retrofit + Okhttp封裝-檔案上傳

  • rxjava的使用

  • retrofit的使用(封裝庫,rxjava + retrofit)

    • 快取
    • 異常
    • 網路請求
    • 斷點續傳(下載)
    • 上傳檔案(該專案沒有使用)
  • dagger2的使用

    • 使用
    • 模組化
    • 原始碼分析(如何實現解耦)
  • mvp

    • mvp架構講解
    • dagger2 + mvp結合使用
  • 觀察者模式的講解和使用