Android MVP模式(二)
前言
之前第一篇说了MVP模式的结构,这第二篇就开始写一些基础的代码吧!最近本人的Android课要做一个课程设计,其实要求也不算特别多,只要实现一些基本功能界面即可。也正好在看MVP,所以就想着要不就用MVP来写一个高仿(山寨)微信呗。所以从这一篇开始我就用微信来做MVP的练习代码了。
补一个上一篇上传不了的MVP模式图
实现结果
今天就先用简单的mvp代码写一个列表,先上效果图(有点丑,没怎么调样式,以后再改!)
View层
- View层主要由一个接口实现,通过该接口将数据设置到视图中。
Model层
- Model层是获取数据层,也是通过定义一个接口,然后再新建一个类去实现这个接口从而获取数据。(这里使用假数据,创建一个list列表作为数据源返回)
Present层
- Present层之前也说过它是M和V的桥梁,通过一个类来实现所定义的接口。而这个方法第一是通过Model层调用获取数据的方法,第二是将数据回调到View层当中。所以您会看到它先调用M层的initData方法然后再将所得的list回调到V层的setData方法中。
实现视图的Fragment
- 在Fragment中就是实现View层接口的地方,首先通过实例P层的类去调用loadData方法,实际上就是调用M层去获取数据然后回调给V层。然后在V层也就是setData方法获取到数据。
最后
这个就是利用MVP实现一个简单到不能再简单的列表,通过这个就能初步的理解MVP模式的结构了。
最后推荐一个贴代码神器:请输入链接描述
用来贴代码超高逼格!!!!
用这个贴代码神器好像不方便看的人去复制代码?
确实是有不太好的地方,而且手机看的话不太方便