1.MVP模式简介
我们的目标是实现MVP模式来开发我们的应用,那首先得知道什么是MVP模式。下面这篇文章讲述得通俗易懂,非常适合新手学习。MVP模式简单易懂介绍
这里简单讲一下,
M ---- model,即数据层
V ---- view,即界面层比如我们的Activity和Fragment
P ---- presenter, 即业务层,我个人觉得更像是管理层。管理数据如何显示,管理界面如何改变数据。
这样一来就可以避免我们的Activity承担过多的工作,楼主之前开发中有一个Activity的代码量到达了两千行,一碰到那部分需求有变更我就头大!!!真是往事不堪回首。。。
MVP作为一种相对新兴的架构,要理解它也需要花一点点时间的。大家最好还是去读一下上面提到的那篇文章,不然这篇文章你可能会懵b。。。
2.Dagger简介
dagger的核心是依赖和注入。目的是为了让View层与Presenter层尽可能的解耦。至于解耦的好处,无论是测试还是后续扩展功能等方面都是受益无穷的。
通俗的讲就是,当你在Activity中需要使用一个类的对象P时候,你不用管P的对象如何实例化,直接就拿来用。至于这个P如何实例化,dagger会帮你搞定,只要你按照它的套路来就行了。
楼主学习dagger也是看了网上很多文章,终于在读完这篇dagger2顿悟之后才开窍了。推荐大家去读读,里面讲得很详细从实现到源码分析都有涉及。所以,那篇文章里面写过的东西我不打算再搬运一遍了。
既然那篇文章已经写得那么好了,为什么我这里又要写一篇呢?
一来楼主看了很多篇文章都很懵B,当时就暗暗决定懂了之后一定要自己总结一番
二来每个人的思考方式都不同,说不定有些人思维方式跟我差不多,那么我的总结就更对他们的胃口,可以少走弯路了。
好了,废话讲完,来看例子。
3.使用dagger的实例
这是一个很小的mvp项目,主要是讲解一下dagger的使用流程。从这个项目中,你是体会不到mvp的好处的。
首先,需求是 点击一个button,程序就更新textView中的内容。就像这样: