MVPHelper Github 地址
https://github.com/githubwing/MVPHelper
Demo Github 地址
https://github.com/anymyna/ui
使用步骤:
1、安装MVPHelper插件
MVPHelper是一款适用于 Intellij IDEA 和 Android Studio 的插件, 可用于为 MVP 架构生成接口以及实现类。在 Android Studio 中Setting 窗口的 Plugins选项搜索 MVPHelper 进行安装或者MVPHelper github网站中下载插到件本地,进行本地安装
2、使用MVPHelper新建MVP代码
在 Contract 类或者 Presenter 类内部,点击 Generate 菜单或使用快捷键 Alt + Insert, 选择 Mvp Helper 即可生成对应文件.
如新建一个presenter 空文件夹,然后创建一个TestPresenter 的类,在类中快捷键 Alt + Insert, 选择 Mvp Helper ,使用MVPHelper 插件生成接口以及实现类。
3、增加简单的演示代码
public class MainActivity extends AppCompatActivity implements TestContract.View, View.OnClickListener {
private TestPresenter testPresenter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
findViewById(R.id.text).setOnClickListener(this);
testPresenter=new TestPresenter(this);
}
@Override
public void onClick(View view) {
testPresenter.jump();
}
@Override
public void onFail(String msg) {
Toast.makeText(this, msg, Toast.LENGTH_SHORT).show();
}
@Override
public void onSuccess() {
Toast.makeText(this, "onSuccess", Toast.LENGTH_SHORT).show();
}
@Override
public String getName() {
Toast.makeText(this, "getName", Toast.LENGTH_SHORT).show();
return "name";
}
}
public class TestPresenter implements TestContract.Presenter {
private TestContract.View view;
private TestModel testModel;
public TestPresenter(TestContract.View view) {
this.view = view;
testModel=new TestModel();
}
@Override
public void onFail(String msg) {
view.onFail(msg);
}
@Override
public void onSuccess() {
view.onSuccess();
}
public void jump(){
testModel.jump("empty",this);
//testModel.jump("test",this);
}
}
public class TestModel implements TestContract.Model {
@Override
public void jump(String name, TestPresenter testPresenter) {
if (name.equals("empty")){
testPresenter.onFail("Empty");
}else{
testPresenter.onSuccess();
}
}
}
```java
public interface TestContract {
interface Model {
void jump(String name,TestPresenter testPresenter);
}
interface View {
void onFail(String msg);
void onSuccess();
String getName();
}
interface Presenter {
void onSuccess();
void onFail(String msg);
}
}