一款使用 MVP + Retrofit2 + Rxjava2 + Dagger2 框架开发的新闻APP

前言

现在越来越多的项目都开始使用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 均由第三方平台提供,本人采取非正常手段获取并使用,本程序也是出于学习交流的目的,不可用于任何商业用途!!!

截图

启动页面截图

《一款使用 MVP + Retrofit2 + Rxjava2 + Dagger2 框架开发的新闻APP》 启动页面.jpg

新闻列表截图

《一款使用 MVP + Retrofit2 + Rxjava2 + Dagger2 框架开发的新闻APP》 新闻页面.jpg

新闻详情截图

《一款使用 MVP + Retrofit2 + Rxjava2 + Dagger2 框架开发的新闻APP》 新闻详情.png

视频列表截图

《一款使用 MVP + Retrofit2 + Rxjava2 + Dagger2 框架开发的新闻APP》 视频页面.jpg

视频详情截图

《一款使用 MVP + Retrofit2 + Rxjava2 + Dagger2 框架开发的新闻APP》 视频详情.png

妹子页面截图

《一款使用 MVP + Retrofit2 + Rxjava2 + Dagger2 框架开发的新闻APP》 妹子页面.jpg

我的页面截图

《一款使用 MVP + Retrofit2 + Rxjava2 + Dagger2 框架开发的新闻APP》 我的页面.jpg

源码

项目地址:https://github.com/wecent/WeiXun
如果觉得对你有帮助的话请帮忙star一下,多谢啦!!!

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