MVP注册登录

来源:互联网 发布:双源abo乐乎 编辑:程序博客网 时间:2024/05/22 14:29
RelignActivitypublic class RelignActivity extends BaseActivity implements View.OnClickListener,IUserView {    @Bind(R.id.user_phone)    EditText userPhone;    @Bind(R.id.user_pwd)    EditText userPwd;    @Bind(R.id.user_resign)    Button userResign;    private UserPrenster userPrenster;    @Override    public int getLayout() {        return R.layout.activity_relign;    }    @Override    public void initId() {        ButterKnife.bind(this);        userPrenster = new UserPrenster(this);    }    @Override    public void onClick() {        userResign.setOnClickListener(this);    }    @Override    public void onClick(View view) {        switch (view.getId()){            case R.id.user_resign:                String name = userPhone.getText().toString().trim();                String pwd = userPwd.getText().toString().trim();                if (TextUtils.isEmpty(name) || TextUtils.isEmpty(pwd)) {                    Toast.makeText(getApplicationContext(), "账号或密码不能为空", Toast.LENGTH_SHORT).show();                    return;                }                userPrenster.relign(new User(name, pwd), RelignActivity.this);                finish();                break;        }    }    @Override    public void onLoginSuccess() {    }    @Override    public void onLoginFailed(String res) {    }    @Override    public void onRelignSuccess() {        Toast.makeText(getApplicationContext(), "注册成功", Toast.LENGTH_SHORT).show();    }    @Override    public void onRelignFailed(String res) {    }
loginActivitypublic class LoginActivity extends BaseActivity implements View.OnClickListener,IUserView{    @Bind(R.id.user_phone)    EditText userPhone;    @Bind(R.id.user_pwd)    EditText userPwd;    @Bind(R.id.user_login)    Button userLogin;    @Bind(R.id.user_resign)    Button userResign;    private UserPrenster userPrenster;    @Override    public int getLayout() {        return R.layout.activity_login;    }    @Override    public void initId() {        ButterKnife.bind(this);        userPrenster = new UserPrenster(this);    }    @Override    public void onClick() {        userLogin.setOnClickListener(this);        userResign.setOnClickListener(this);    }    @Override    public void onClick(View view) {        switch (view.getId()) {            case R.id.user_login:                Toast.makeText(this, "登录", Toast.LENGTH_SHORT).show();                String name = userPhone.getText().toString().trim();                String pwd = userPwd.getText().toString().trim();                if (TextUtils.isEmpty(name) || TextUtils.isEmpty(pwd)) {                    Toast.makeText(getApplicationContext(), "账号或密码不能为空", Toast.LENGTH_SHORT).show();                    return;                }                userPrenster.login(new User(name, pwd), LoginActivity.this);                break;            case R.id.user_resign:                Toast.makeText(this, "注册", Toast.LENGTH_SHORT).show();                Intent intent=new Intent(LoginActivity.this, RelignActivity.class);                startActivity(intent);                break;        }    }    @Override    public void onLoginSuccess() {    }    @Override    public void onLoginFailed(String res) {    }    @Override    public void onRelignSuccess() {    }    @Override    public void onRelignFailed(String res) {    }
Modelpublic interface IUserMode {    //登录    void login(User user, Context context);    //注册    void relign(User user,Context context);}public class UserMode implements IUserMode {    private Handler handler=new Handler();    String relign_url="http://120.27.23.105/user/reg";    String login_url="http://120.27.23.105/user/login";    @Override    public void login(User user, final Context content) {        Map<String,String> params=new HashMap<>();        params.put("mobile",user.getUserphone());        params.put("password",user.getPassword());        OkHttp3Utils.doPost(login_url, params, new Callback() {            @Override            public void onFailure(Call call, IOException e) {}            @Override            public void onResponse(final Call call, Response response) throws IOException {                final String login_string = response.body().string();                Log.i("xxx",login_string);                handler.post(new Runnable() {                    @Override                    public void run() {                        Gson gson=new Gson();                        Login_Data relign_data = gson.fromJson(login_string, Login_Data.class);                        String code = relign_data.getCode();                        Login_Data.DataBean data = relign_data.getData();                        if (code.equals("0")){                            SharedUtil instances = SharedUtil.getInstances();                            instances.saveDatad(content,"user_name",data.getUsername());                            instances.saveDatad(content,"user_phone",data.getMobile());                            instances.saveDatad(content,"user_pwd",data.getPassword());                            instances.saveDatad(content,"uid",data.getUid());                            instances.saveDatad(content,"config",true);                        }                    }                });            }        });    }    @Override    public void relign(User user, final Context content) {        Map<String,String> params=new HashMap<>();        params.put("mobile",user.getUserphone());        params.put("password",user.getPassword());        OkHttp3Utils.doPost(relign_url, params, new Callback() {            @Override            public void onFailure(Call call, IOException e) {}            @Override            public void onResponse(final Call call, Response response) throws IOException {                final String relign_string = response.body().string();                Log.i("xxx",relign_string);            }        });    }}
Presenterpublic class UserPrenster {    private final IUserView iUserView;    UserMode userMode;    public UserPrenster(IUserView iUserView) {        this.iUserView=iUserView;        this.userMode = new UserMode();    }    /**     * 注册     *     * @param user     */    public void relign(final User user, final Context context) {                userMode.relign(user,context);    }    /**     * 注册     *     * @param user     */    public void login(final User user, final Context context) {                 userMode.login(user,context);    }}
viewpublic interface IUserView {    //登陆成功    void onLoginSuccess();    //登录失败    void onLoginFailed(String res);    //注册成功    void onRelignSuccess();    //注册失败    void onRelignFailed(String res);}