极客日报,一款纯粹的阅读App,基于Material Design + MVP + RxJava + Retrofit + Dagger2 + Realm + Glide

GeekNews

极客日报,一款纯粹的阅读App,基于Material Design + MVP + RxJava + Retrofit + Dagger2 + Realm + Glide

项目地址:https://github.com/codeestX/GeekNews

出于学习的目的做了这款Material Design风格的简洁的阅读应用,基本涵盖了当前Android端开发最常用的主流框架,阅读内容目前包括知乎日报、微信精选、干货集中营,知识、新闻、福利一网打尽,后期会持续更新,坚持在这个项目上实践最新的技术,也会争取拓展更多的阅读内容

Preview

《极客日报,一款纯粹的阅读App,基于Material Design + MVP + RxJava + Retrofit + Dagger2 + Realm + Glide》
《极客日报,一款纯粹的阅读App,基于Material Design + MVP + RxJava + Retrofit + Dagger2 + Realm + Glide》
《极客日报,一款纯粹的阅读App,基于Material Design + MVP + RxJava + Retrofit + Dagger2 + Realm + Glide》

Download APK

《极客日报,一款纯粹的阅读App,基于Material Design + MVP + RxJava + Retrofit + Dagger2 + Realm + Glide》

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:

知乎日报API

微信精选API

干货集中营API

APP:

Hot 提供了Dagger2配合MVP的架构思路

知了日报 提供了部分设计思路

还参考了很多大神的类似作品,感谢大家的开源精神

RES:

iconfont 提供了icon素材

material UP 提供了Material Design风格的素材

<b>最后:本人初学不久,能力有限,项目还有很多细节不够完善,欢迎交流,共同进步 (´・ω・`)

    原文作者:codeest
    原文地址: https://www.jianshu.com/p/bca054f5131d
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞