对于RxJava的初学习和MVP的demo理解
生活在当下的时代,尤其是我们学习技术专业的,可以说是时刻不敢松懈,本人是一名大三狗,自学习Android开发也有一年多的时间了,没有人指引和教导确实有些慢。和其他人交流才知道retrofit+RxJava+MVP,学习也有一段时间了,这是补发的部分。应该还会有后续,因为最近才真的认识到RxJava的牛逼。
当时学习RxJava和MVP的时候从网上找了很多例子的使用方法,忍不住吐槽都是一堆什么东西,能不能有些实际的东西让我们能够更好的深入理解具体什么是MVP,什么是RxJava。所以我当时就想,如果我对于这些知识了解之后一定要写一个完整的Demo提供给大家,让大家少走弯路。想学习rxjava的同学可以看看这个链接 给 Android 开发者的 RxJava 详解,如果感觉不够的话也没关系,网上资源很多,大家可以多搜一搜,多看一看。
首先给大家看一下运行结果
如果想使用rxjava和retrofit的话需要在as中引入支持
上面是我自己使用的支持,大家可以根据最新版本使用这是第一步完成了,其次我们还要大致了解什么是MVP,有关MVP和MVC的介绍网上有很多,大家可以自己多搜一搜,多看一看,这里我只是说一下我自己的理解。不论是什么模式,什么框架,我们都只有一个目的,那就是为了更好的开发项目,让代码看起来整齐简洁,便于扩展。所以对我们练手的项目来说其实MVC就够用了,因为我们还没有建立架构的能力,使用MVP其实有些早。如果不懂MVC也没关系,你只要这样想,我能在两个类里写的代码就不再一个类里面写完;能在两个方法里写的代码就不再一个方法里写完;各个地方用到很多的公共方法或者类,例如对于Toast的封装,对IO的封装,那就把他们单独写在一个类里面就够了。然后多从git上下下源码看看别人是如何封装Base的。这个真的很重要。
好了跑题了,下面来看下我这个真正MVP小Demo的例子的结构。
目录结构其中第一个是适配器,这个没什么好说的,使用的框架,BaseQuickAdapter,使用特别简单,想了解的同学可以自行百度。
ApiServiceManager是retrofit的封装类,下面是主要代码部分。获取的信息是使用wanandroid的接口。
主要代码上面的代码我也增加了一些注释,中间部分是Retrofit的关键代码初始化部分,相信大家都会有些了解。网络框架有很多,说实话我最近喜欢上了okGo,虽然解析JSON的时候可能需要自己使用原生解析,但是任然不可否认使用起来贼舒服。
接下来我们来看RxJava的使用部分
rxjava这里可以实现获取数据前加载框,失败后出现错误提示什么的,大家可以自己增加,话说当时这一个问题魂绕了我好久,后来解决后觉得大彻大悟。
MainActivity就没什么好说的了。不过是获取数据而已,大家可以区我的git上看看。
下面是我的demo地址。谢谢大家支持
GitHub - jiwenjie/MVPDemo: 一个使用rxJava和retrofit以及MVP框架实现的真正简单的小栗子