GeekNews-极客日报

添加时间:2016-2-12 15:55:41 编辑:罗建东 阅读:931


GeekNews, A pure reading App based on Material Design + MVP + RxJava + Retrofit + Dagger2 + Realm + Glide

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

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

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 实现下拉刷新、上拉加载、侧滑删除、长按拖曳
  • 使用 x5WebView 做阅览页,比原生 WebView 体验更佳
  • 使用原生的夜间模式、分享、反馈
  • 包含搜索、收藏、检测更新(尚未实现)等功能
  • 所有踩到的坑都在项目里做了注释

Version

V1.0.1


1.感谢 @kingkingruan 提出的过去切回今天日期未更新的 bug,已修复
2.使用 x5WebView 替换原生 WebView,更快更稳定
3.更新微信精选 API,免费次数貌似用完了...


V1.0.0

1.提交第一版

Thanks

API:

知乎日报 API     微信精选 API     干货集中营 API

APP:

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

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

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

RES:

iconfont 提供了 icon 素材

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

LIB:

UI

RX

NETWORK

DI

FRAGMENT

LOG

DB

CANARY




      

  Download APK