前言
现在越来越多的项目都开始使用MVP + Rxjava2 + Retrofit2 + Dagger2 框架了,然鹅我还是一知半解, 这些东西对于木有用过的同学们还是比较头疼的。当然网上有很多教程供我们学习,虽然他们都比较详细的介绍了用法,但是一下介绍的太详细,对于初学者也是一脸 懵逼。最好的学习方式还是边敲边踩坑边学,所以准备撸一个简单的项目,来学习和介绍这些东西的简单用法,即使是初学者应该也不不至于一脸懵逼。
遥想当年刚入坑的时候,就想着自己写一个自己的新闻项目,甚至连它的名字都给想好了,然鹅却一直都处于搁置状态。最近一段时间处于职业变更期,平常除了找工作面试,也想把之前学到的东西梳理下,但是我这个跟有点懒,让我坐在那里写博客是不可能的,但是撸代码就不一样了呀,一杯咖啡一包烟,我能撸到后半夜你信不信?
开始撸代码之前先说说这些东西是干什么用的:
1.MVP 大家都知道 P的作用是让MV间接拥有肮脏的PY交易,而不是直接让他们进行交易。
2.Rxjava 响应式编程,一个特别屌的地方就是你可以随便切换线程。
3.Retrofit 新兴起来的网络请求框架,封装了OKHttp,用起来简直不要太爽。
4.Dagger2 Android 的IOC框架,通过依赖注入降低程序耦合,这个耦合就是类之间的依赖引起的。
功能
已完成功能
- 启动页
- 新闻页面
- 新闻详情
- 修改新闻频道
- 视频界面
- 视频详情界面
- 播放视频功能
- 新闻视频评论
- 妹子页面
- 图片详情
- 我的界面
待完成功能
- 评论弹框
- 新闻搜索
- 更多...
数据
该项目整体风格跟市面上的新闻APP接近,也加入了一些自己独特的标识,用于区别市面上的APP。该项目包括新闻、视频、妹子和我的四个模块,项目大致功能已经完成,部分功能正在完善中,其中新闻、视频以及妹子图用到了三方数据。
新闻和视频数据来自今日头条API分析,里面有今日头条api获取数据的详细分析,包括接口传参以及json数据字段解析。我只用到了获取新闻、获取新闻详情和获取评论的接口,想了解更多用法的小伙伴可以去看看传送门。
妹子图的数据来自煎蛋API,煎蛋API提供了新鲜事、无聊图、妹子图和段子等数据,在这里我只用到了妹子图的数据,至于为什么?大家都懂得。
以上所有 API 均由第三方平台提供,本人采取非正常手段获取并使用,本程序也是出于学习交流的目的,不可用于任何商业用途!!!
截图
启动页面截图
新闻列表截图
新闻详情截图
视频列表截图
视频详情截图
妹子页面截图
我的页面截图
源码
项目地址:https://github.com/wecent/WeiXun
如果觉得对你有帮助的话请帮忙star一下,多谢啦!!!