GankWithZhihu
项目地址:
Werb/GankWithZhihu
简介:阅读类 App
标签:
MVP-
RxJava-
Retrofit-
- 整体项目基于 MVP + RxJava + Retrofit
- 通过 Retrofit 实现了无网缓存
- 基于 MVP 模式对 Activity 和 Fragment 封装了两个基类,同样适用于非 MVP 的实现。
- 运用 RecyclerView 加载了多种复杂布局
- 用到了一些很棒的第三方库
- GitHub 项目地址 : https://github.com/Werb/GankWithZhihu
闪屏
- 实现了类似于 Twitter 的闪屏动画,中间的小太阳可以扩大到中心,进入主界面
- 闪屏中的字体叫做 old English , 纽约时报专用字体
主界面
- 汇集了知乎日报,干货集中营,以及好奇心日报,三种不同风格的阅读体验
- 知乎日报 API 取自ZhihuDailyPurify
- 干货集中营 API 取自gank.io
- 好奇心日报 API 是自己爬取所得,后续会整理到 GitHub 上
一些有意思的地方
- 知乎日报的详细详细界面,不是采用 webView 加载 url 路径实现的,而是根据 api 返回的 html 标签代码,拼接 Css 和 JS 实现的,很有意思,我分析知乎这样做的原因,应该是为了实现在无网状态下,同样可以保持阅读体验
- 各种 APi 返回的数据格式都很复杂,特别是好奇心日报,不单单是 list 集合,所以在项目中,使用 RecyclerView 加载了很多复杂布局,特别是实现了如何根据数据来判断布局的加载
- 从开始学习到第一次使用 MVP + RxJava + Retrofit 开发项目,真正体会到了它的方便与强大之处
- 项目中,有很多代码是可以重复利用的,为了更好的体会 MVP 思想,我目前还没有重构,后续会根据功能进行优化
- 目前对内存优化问题,我控制的不是很好,如果有在这方面有经验很擅长的同学,希望可以联系我
很高兴你看到这里
有时候啊 你总是在追赶前面的人
总是抱怨自己为什么不能再努力一点
累了你可以停下来 看看原来的自己
其实你已经很了不起了。
- 业余时间写了一个第三方微博(不使用官方 SDK)
- 欢迎 Star 和 Fork
License
- 感谢开源项目 ZhihuDailyPurify
- 感谢 gank.io
- 感谢 MeiZhi
- 同时希望可以帮助到其他人
- 项目中用到的 api 所有权归 知乎,gank.io,好奇心日报所有,本项目仅是用来学习使用