GeekNews
極客日報,一款純粹的閱讀App,基于Material Design + MVP + RxJava + Retrofit + Dagger2 + Realm + Glide
項目地址:https://github.com/codeestX/GeekNews
出于學習的目的做了這款Material Design風格的簡潔的閱讀應用,基本涵蓋了當前Android端開發最常用的主流框架,閱讀內容目前包括知乎日報、微信精選、干貨集中營,知識、新聞、福利一網打盡,后期會持續更新,堅持在這個項目上實踐最新的技術,也會爭取拓展更多的閱讀內容
Preview



Download APK

Points
使用RxJava配合Retrofit2做網絡請求
使用RxUtil對線程操作和網絡請求結果處理做了封裝
使用RxPresenter對訂閱的生命周期做管理
使用RxBus來方便組件間的通信
使用RxJava其他操作符來做延時、輪詢、轉化、篩選等操作
使用okhttp3對網絡返回內容做緩存,還有日志、超時重連、頭部消息的配置
使用Material Design控件和動畫
使用MVP架構整個項目,對應于model、ui、presenter三個包
使用Dagger2將M層注入P層,將P層注入V層,無需new,直接調用對象
使用Realm做閱讀記錄和收藏記錄的增、刪、查、改
使用Glide做圖片的處理和加載
使用Fragmentation簡化Fragment的操作和懶加載
使用RecyclerView實現下拉刷新、上拉加載、側滑刪除、長按拖曳
使用WebView做閱覽頁,通過修改其配置達成各種需要的功能
使用原生的夜間模式、分享、反饋
包含搜索、收藏、檢測更新(尚未實現)等功能
所有踩到的坑都在項目里做了注釋
Thanks
API:
APP:
Hot 提供了Dagger2配合MVP的架構思路
知了日報 提供了部分設計思路
還參考了很多大神的類似作品,感謝大家的開源精神
RES:
iconfont 提供了icon素材
material UP 提供了Material Design風格的素材
<b>最后:本人初學不久,能力有限,項目還有很多細節不夠完善,歡迎交流,共同進步 (′?ω?`)