「WanLearning App」基于 Material Design 風格構建的 玩 Android 客戶端,主要是為了適應Kotlin語言開發(fā)流程。
項目地址
主要特點
- 基于Google官方宣貫的MVVM模式開發(fā)實踐
- 基于Jetpack組件庫構建:LiveData、ViewModel、Lifecycle、Room、DataBinding,目前項目中只是集成的Paging組件,暫未用到
- 使用Kotlin語言開發(fā),自定義擴展函數(shù),代碼簡潔
- 使用協(xié)程來構建網(wǎng)絡請求,鏈式調用,方便調試
- 工程模式以單Activity + 多Fragment架構編寫,容易做單元測試和好擴展維護,提升開發(fā)效率
架構圖

架構組件
效果圖

Demo
更新記錄
- 第一個版本,包括首頁、公眾號、項目、導航、我的5個Tab項頁面功能
- 支持協(xié)程方式獲取網(wǎng)絡請求數(shù)據(jù),LiveData來更新UI
- 支持登陸和注冊功能、支持自定義切換主題顏色、支持加載Web Url
- 支持清除緩存信息,支持列表上拉刷新和下拉加載更多等功能
APK下載
感謝
- 數(shù)據(jù)來源:玩 Android
- 項目靈感:JetpackMvvm
第三方庫
- 事件通知:UnPeek-LiveData
- 加載反饋:LoadSir
- 網(wǎng)絡請求框架:OkHttp、Retrofit
- 圖片庫:Glide
- Json 解析庫:Gson
- 動態(tài)請求權限封裝:Permissionx
- 下拉刷新框架:SmartRefreshLayout
- 提升H5首屏加載速度:VasSonic
給予支持??
通過這個項目希望能夠幫助大家更好地學習 Jetpack 與 MVVM 架構的結合。
如果你喜歡 WanLearning App 的工程項目,本項目的源代碼對你的學習有所幫助,可以在 Github 中 "Star" 支持一下,謝謝!