Android开发经验谈Android开发Android开发

android 之懒人MVP使用

2018-06-14  本文已影响135人  石头_起航

MVP具体是个什么玩意就自己百度吧,我也不提了,今天主要是告诉你怎么简单快速的使用MVP模式。废话不多说下边开始(我的AS3.0.1)
首先下载插件流程是 右上角File-------->Settings--------->Plugins(插件)

1.png
因为我安装过了所以是这么样子,就是在上边搜索,如果你没安装过这样搜出来是这样子的
2.png
然后点击蓝色字体搜索,再然后就是输入MVPPlugin进行搜索,安装完之后需要重启才能生效;
下边是用法:
第一步:你新建activity 或者其他Java文件的时候你会发现最下边出现了一个MvpFiles 前面是文件夹的标志,在Java文件下选择这个然后你需要输入mvp 这个样子的
mvp.png
这样子你就会发现Java文件下生成了一个名为mvp的文件夹
第二步:同样右键还是选择MvpFiles ,然后输入名字就和之前不能一样的如果就创建是activity 名字就得是这样子 ******Activity(例如 LoginActivity) 如果是Fragment 就是 ******Fragment (例如 HomeFragment)
第三步:创建完这些之后你如果直接运行就会报错的,原因 activity没有注册,所以你需要去AndroidManifest.xml 里面注册一下 ,然后就是你去layout会发现没有相应的布局,那么怎么办就去创建呗,然后在activity 绑定一下哦方法很多 可以使用butterknife来绑定
第四步:文件介绍 ******Activity ******Contract *******Presenter
生成是这三个东西,第一个activity 大家都知道 ;******Contract 是来把Activity 和 Presenter联系起来的桥梁喽,然后 Presenter 就是你进行网络请求的地方了
比如我在******Contract这样写的 你看看
interface View extends BaseView {
    void get(String s);//activity实现  从Presenter里面获取网络请求的数据通过她传到activity
}
interface  Presenter extends BasePresenter<View> {
    void set(String sd);//Presenter实现  主要是从activity得到命令什么时候发送网络请求,以及拿到参数
}

当然你须在activity 和 Presenter实现一下 下边是activity 部分代码

@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_maisd);
    mPresenter.set("sdsdsdsd");//告诉 Presenter需要进行请求了  “sdsdsdsd”相当于请求参数
}
@Override
public void get(String s) {//获取从Presenter过来的数据 主要是网络请求
}

下面是Presenter 部分代码

@Override
public void set(String sd) {//这个是从activity中获取命令
    mView.get(sd);//发送数据到activity中
}

我就写了一个 也没有进行网络请求, 意思就是, 在set方法里面拿到了请求参数 , 并且开始进行网络请求, 然后把数据传回activity ,我sd从activity传通过set 传过来的 然后通过 get传回activity 证明一下数据传递的流程 可以打 log 记录一下 。用插件应该是最简单使用MVP模式了吧;

上一篇下一篇

猜你喜欢

热点阅读