其他分享
首页 > 其他分享> > 无登录mvp的搭建

无登录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