无登录mvp的搭建
作者:互联网
第一步:
public interface MainView { void success(String data); void fail(); }
第二步:
接口
public interface MainModel { interface BackListener{ void success(String data); void fail(); } void getData(BackListener listener); }
类
public class MainModelIml implements MainModel{ @Override public void getData(BackListener listener) { } }
第三步:
接口
public interface MainPresenter { void doData(); }
类
public class MainPresenterIml implements MainPresenter, MainModel.BackListener { private MainModel mainModel; private MainView mainView; public MainPresenterIml(MainModel mainModel, MainView mainView) { this.mainModel = mainModel; this.mainView = mainView; } @Override public void doData() { mainModel.getData(this); } @Override public void success(String data) { mainView.success(data); } @Override public void fail() { mainView.fail(); } //解决内存泄漏 public void destory() { if (mainView!=null){ mainView=null; } if (mainModel!=null){ mainModel=null; } System.gc(); } }
去主线程中连接
public class MainActivity extends AppCompatActivity implements MainView { private MainPresenterIml mainPresenterIml; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); 从这里开始连接mvp mainPresenterIml = new MainPresenterIml(new MainModelIml(),this); //请求数据 mainPresenterIml.doData(); } @Override public void success(String data) { } @Override public void fail() { } 自己写一个解决内存泄漏的问题 @Override protected void onDestroy() { super.onDestroy(); mainPresenterIml.destory(); } }
标签:mvp,登录,mainView,void,mainModel,Override,MainModel,public,搭建 来源: https://blog.csdn.net/weixin_44662945/article/details/88625477