带你高效学习MVP+RxJava+Retrofit

引言

自上次用老旧的mvc做了一个仿微信项目之后,我给自己做了一个短期的规划,先把MVP+RxJava+Retrofit这新的安卓三剑客给学了,于是,经过一个多星期的折腾,总算是对MVP+RxJava+Retrofit入了门。经过这两年的洗礼,这三门技术不断成熟稳定,得到了广大程序猿的一致认可。网上有许多优秀的文章对这三门技术进行讲解,所以,本文只作为一个学习指引,

一、RxJava

1、入门:

1)、对RxJava的入门,网上一致认为作者名为“扔物线”的文章最好,但是,RxJava本身对于新手来说比较难以理解,看一遍是记不了多少的,建议多看两遍,到时自会是“书读百遍,其义自见”啦。

2)、除此之外,作者“hi大头鬼hi”的译文也写的很不错,非常具有参考价值:

PS :有兴趣的加入Android工程师交流QQ群:752016839 主要针对Android开发人员提升自己,突破瓶颈,相信你来学习,会有提升和收获。

2、细分:

所谓细分无非是学习RxJava的操作符和实际使用场景,下面推荐的是作者“余志强”的文章,这里提示一下,该作者使用的是旧版的RxJava,所以有部分方法可能在新版中被去掉了,所以大家在看的时候,不要觉得奇怪。

3、其他:

主要针对一些使用中出现的错误、RxJava操作符的理解:

二、Retrofit

1、入门:

对于Retrofit的入门,其实不难,看完以下几基本就可以了,下面推荐的是作者“码小白”的文章:

2、细分:

开发中肯定会用到持久化Cookie、数据缓存和Log输出,以下推荐几遍相关的文章:

3、其他

这里收集一些本人在使用中遇到的错误:

三、MVP

一句话,看得再多,不如实践一把。mvp的概念网上一搜一大把,也可以通过在上面的文章内容进行了解,这里不做介绍,对于mvp的学习,本人是直接对通过代码来学习的,这里推荐一个写的不错的项目例子,请在学习了RxJava和Retrofit完的基础上看,相信对你有很大帮助:

四、lambda表达式

结束语

看完了上述的文章之后,对于我确实有很大的帮助,感觉这三者搭配起来简直无敌了,但是还是有很多细节问题目前还没有遇到,或许是个很大的坑也说不定,如果到时有遇到的话,会继续在本文中进行更新。最后,祝各位Android、Java程序猿入坑顺利,嘿嘿~。


 

MVP(Model View Presenter)其实就是一种项目的整体框架,能让你的代码变得更加简洁,说起框架大家可能还会想到MVC、MVVM。由于篇幅原因,这里我们先不讲MVVM,先来看一下MVC。其实Android本身就采用的是MVC(Model View Controllor)模式、其中Model指的是数据逻辑和实体模型;View指的是布局文件、Controllor指的是Activity。对于很多Android初学者可能会有这样的经历,写代码的时候,不管三七二十一都往Activity中写,当然我当初也是这么干的,根本就没有什么框架的概念,只要能实现某一个功能就很开心了,没有管这么多。当然项目比较小还好,一旦项目比较大,你会发现,Activity所承担的任务其实是很重的,它既要负责页面的展示和交互,还得负责数据的请求和业务逻辑之类的工作,相当于既要打理家庭,又要教育自己调皮的孩子,真是又当爹又当妈。。。那该怎么办呢?这时候Presenter这个继父来到了这个家庭。Presenter对Activity说,我来了,以后你就别这么辛苦了,你就好好打理好View这个家,我专门来负责教育Model这孩子,有什么情况我会向你反映的。这时Activity流下了幸福的眼泪,从此,Model、View(Activity)、Presenter一家三口过上了幸福的生活。。。好了磕个药继续,由于Presenter(我们自己建的类)的出现,可以使View(Activity)不用直接和Model打交道,View(Activity)只用负责页面的显示和交互,剩下的和Model交互的事情都交给Presenter做,比如一些网络请求、数据的获取等,当Presenter获取到数据后再交给View(Activity)进行展示,这样,Activity的任务就大大减小了。这便是MVP(Model 还是指的数据逻辑和实体模型,View指的是Activity,P就是Presenter)框架的工作方式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值