Mvp

在这里插入图片描述mvp框架
package weektest.baway.di.contert;**

//契约类

**
public interface IContert {
//v层
public interface IView{
//登录数据显示
public void showData(String s);
//注册的数据显示
public void registerData(String s);
//xbanner
public void showxbannerData(String s);
//home数据
public void showProductsData(String s);
//圈子的显示数据
public void showcircleData(String s);
}
//p层
public interface IPersenter{
public void attachView(IView iView);
public void destach(IView iView);
//登陆的
public void request(String dlname, String dlpass);
//注册的
public void register_request(String dlname, String dlpass);
//Xbanner
public void requestxbanner();
//数据显示
public void showProducts();
//圈子的回
public void requestcircle();
}
//m层
public interface IModel{
//登录
public void callBack(String dlname,String dlpass,oncallBack callback);
//注册
public void register_callBack(String dlname, String dlpass,oncallBack oncallBack);
//xbanner
public void xbannercallback(oncallBack oncallBack);
//数据显示
public void productscallBack(oncallBack oncallBack);
//圈子
public void circlersponse(oncallBack oncallBack);
public interface oncallBack{
public void oncallBack(String s);
}
}
}
package weektest.baway.di.model; ///model层

import android.util.Log;

import com.lzy.okgo.OkGo;
import com.lzy.okgo.callback.StringCallback;

import java.io.IOException;
import java.net.URL;

import okhttp3.Call;
import okhttp3.Callback;
import okhttp3.FormBody;
import okhttp3.Response;
import weektest.baway.data.Conster;
import weektest.baway.data.util.OKutil;
import weektest.baway.di.contert.IContert;

import static weektest.baway.data.Conster.DLURL;
import static weektest.baway.data.Conster.ZCURL;
public class IModel implements IContert.IModel {

@Override
public void callBack(String dlname,String dlpass,final oncallBack oncallBack) {
     **

String UrlString = Conster.DLURL+"?phone="+dlname+"&pwd="+dlpass; FormBody formBody = new FormBody.Builder().build(); OKutil.getInstance().post(formBody, UrlString, new Callback()

** {
@Override
public void onFailure(Call call, IOException e) {
}

        @Override
        public void onResponse(Call call, Response response) throws IOException {

**String s = response.body().string();

oncallBack.oncallBack(s);
Log.i(“oopo”, "onResponse: "+s);**

        }
    });

}
//注册
@Override
public void register_callBack(String dlname, String dlpass,final oncallBack oncallBack) {
    String UrlString=Conster.ZCURL+"?phone="+dlname+"&pwd="+dlpass;
    FormBody formBody = new FormBody.Builder().build();
    OKutil.getInstance().post(formBody, UrlString, new Callback() {
        @Override
        public void onFailure(Call call, IOException e) {

        }

        @Override
        public void onResponse(Call call, Response response) throws IOException {
            String s = response.body().string();
            oncallBack.oncallBack(s);
        }
    });
}
//xbanner
@Override
public void xbannercallback(final oncallBack oncallBack) {
            OKutil.getInstance().get(Conster.XBANNERURL, new Callback() {
                @Override
                public void onFailure(Call call, IOException e) {
                }
                @Override
                public void onResponse(Call call, Response response) throws IOException {
                    **String s = response.body().string();
                    oncallBack.oncallBack(s);**
                }
            });
}
//首页
@Override
public void productscallBack(final oncallBack oncallBack) {
    OkGo.<String>get(Conster.PRODUCTSURL).execute(new StringCallback() {
        @Override
        public void onSuccess(com.lzy.okgo.model.Response<String> response) {
          String s = response.body().toString();
          oncallBack.oncallBack(s);
        }
    });
}

}

**

P层

**
//presenter
public class IPersenter implements IContert.IPersenter<IContert.IView> {

IContert.IView iView;
private IModel iModel;
private SoftReference<IModel> reference;

@Override
public void attachView(IContert.IView iView) {
    this.iView = iView;
    iModel = new IModel();
    reference = new SoftReference<>(iModel);
}
@Override
public void destach(IContert.IView iView) {
            reference.clear();
}
//登录
@Override
public void request(String dlname, String dlpass) {
    iModel.callBack(dlname,dlpass,new IContert.IModel.oncallBack() {
        @Override
        public void oncallBack(String s) {
                iView.showData(s);
        }
    });
}
//注册
@Override
public void register_request(String dlname, String dlpass) {
        iModel.register_callBack(dlname,dlpass,new IContert.IModel.oncallBack() {
            @Override
            public void oncallBack(String s) {
                iView.registerData(s);
            }
        });
}
//xbanner
@Override
public void requestxbanner() {
        iModel.xbannercallback(new IContert.IModel.oncallBack() {
            @Override
            public void oncallBack(String s) {
                iView.showxbannerData(s);
            }
        });
}

//首页数据显示
@Override
public void showProducts() {
    iModel.productscallBack(new IContert.IModel.oncallBack() {
        @Override
        public void oncallBack(String s) {
            iView.showProductsData(s);
        }
    });
}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值