MVP

来源:互联网 发布:移动工作站推荐 知乎 编辑:程序博客网 时间:2024/06/05 16:31
---------------------Ppackage com.bawei.gaoying.presenter;import android.text.TextUtils;import com.bawei.gaoying.bean.GsonBean;import com.bawei.gaoying.mode.LoginModle;import com.bawei.gaoying.view.LoginView;public class LoginPresenter implements LoginModle.ILogin{    private LoginView loginView;    private LoginModle loginModle;    public LoginPresenter(LoginView loginView) {        this.loginView=loginView;        loginModle=new LoginModle();        loginModle.setiLogin(this);    }    public void login(String mobile,String pass) {        if (TextUtils.isEmpty(mobile)) {            loginView.nameError("用户名不能为空");            return;        }        if (TextUtils.isEmpty(pass)) {            loginView.passError("密码不能为空");            return;        }        loginModle.login(mobile,pass);    }    @Override    public void loginSuccess(String code, String msg,GsonBean.DataBean dataBean) {        loginView.loginSuccess(code,msg,dataBean);    }    @Override    public void loginFail(String code, String msg) {        loginView.loginFail(code,msg);    }}---------------------V 
package com.bawei.gaoying.view;import com.bawei.gaoying.bean.GsonBean;public interface LoginView {    public  void  nameError(String msg);  //名字错误    public  void  passError(String msg);  //密码错误    public  void  loginSuccess(String code, String msg,GsonBean.DataBean dataBean);  //登陆成功    public  void  loginFail(String code, String msg);  //登陆失败}


----------------M
package com.bawei.gaoying.mode;import com.bawei.gaoying.bean.GsonBean;import com.bawei.gaoying.common.Api;import com.example.utils.OkHttpManager;import com.google.gson.Gson;import java.io.IOException;import okhttp3.Call;import okhttp3.Callback;import okhttp3.FormBody;import okhttp3.OkHttpClient;import okhttp3.Request;import okhttp3.Response;public class LoginModle {    public  void login(String mobile,String pass){        //提交服务器        OkHttpClient okHttpClient=new OkHttpClient();        FormBody.Builder formBody=new FormBody.Builder();        formBody.add("mobile",mobile);        formBody.add("password",pass);        FormBody body=formBody.build();        Request request=new Request.Builder().post(body).url(Api.LOGIN_API).build();        okHttpClient.newCall(request).enqueue(new Callback() {            @Override            public void onFailure(Call call, IOException e) {            }            @Override            public void onResponse(Call call, Response response) throws IOException {                if (response!=null&&response.isSuccessful()){                    String result = response.body().string();                    System.out.println("result======="+result);                    Gson gson=new Gson();                    GsonBean bean = gson.fromJson(result, GsonBean.class);                    String code = bean.code;                    String msg = bean.msg;                    if(code.equals("0"))                    {                        iLogin.loginSuccess(code,msg,bean.data);                    }                    else                    {                        iLogin.loginFail(code,msg);                    }                }            }        });    }    private ILogin iLogin;    /**     * 对外暴露的回调接口     * @param iLogin     */    public void setiLogin(ILogin iLogin) {        this.iLogin = iLogin;    }    public interface ILogin {       public  void loginSuccess(String code, String msg,GsonBean.DataBean dataBean);       public  void loginFail(String code, String msg);   }}


原创粉丝点击