登录注册mvp模式

1、首先显示个人信息页面

public class LiginSuccessfulActivity extends AppCompatActivity {

    private SharedPreferences sp;
    private Button login_but;
    private boolean flag;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_ligin);
        ImageView touxiang = (ImageView) findViewById(R.id.login_touxiang);
        TextView login_nickname = (TextView) findViewById(R.id.login_nickname);
        TextView login_phone = (TextView) findViewById(R.id.login_phone);
        login_but = (Button) findViewById(R.id.login_but);
        Button login_shop = (Button) findViewById(R.id.login_shop);

        String username = getIntent().getStringExtra("username");
        String pwd = getIntent().getStringExtra("pwd");

        sp = getSharedPreferences("confing", MODE_PRIVATE);
        flag = sp.getBoolean("flag", false);
       // login_but.setEnabled(true);
        if (flag == true) {
            login_but.setText("退出登录");
            //登录成功取出手机号和密码
            //密码
            login_nickname.setText(pwd);
            //手机号
            login_phone.setText(username);
        } else {
            login_but.setText("未登录");
            login_nickname.setText("未登录");
            login_phone.setText("未登录");
        }
        login_but.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                flag = false;
                startActivity(new Intent(LiginSuccessfulActivity.this, MainActivity.class));
            }
        });

        login_shop.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                startActivity(new Intent(LiginSuccessfulActivity.this, GoodsActivity.class));
            }
        });
    }
}

2、进入登录注册界面

//登录界面的LoginOrRegisterView
public class MainActivity extends AppCompatActivity implements LoginOrRegisterView {

    private LoginOrRegisterPresenter loginOrRegisterPresenter;
    private EditText ed_username;
    private EditText ed_pwd;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ed_username = (EditText) findViewById(R.id.ed_username);
        ed_pwd = (EditText) findViewById(R.id.ed_pwd);

        Button login = (Button) findViewById(R.id.login);
        Button register = (Button) findViewById(R.id.register);
        //登录界面的prensenter
        loginOrRegisterPresenter = new LoginOrRegisterPresenter(this);
        //注册按钮
        register.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                startActivity(new Intent(MainActivity.this, RegisterActivity.class));
            }
        });
        //登录按钮
        login.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                loginOrRegisterPresenter.getLogin(MainActivity.this, ed_username.getText().toString(), ed_pwd.getText().toString());
            }
        });
    }

    @Override
    public void usernamePwdnull() {
        Toast.makeText(MainActivity.this, "用户名或密码输入有误", Toast.LENGTH_SHORT).show();
    }

    @Override
    public void succenful(final JavaBean javaBean) {
        runOnUiThread(new Runnable() {
            @Override
            public void run() {
                Toast.makeText(MainActivity.this, "登陆成功", Toast.LENGTH_SHORT).show();
                Intent intent = new Intent(MainActivity.this, LiginSuccessfulActivity.class);
                intent.putExtra("username", javaBean.getData().getUsername());
                intent.putExtra("pwd", javaBean.getData().getPassword());

                startActivity(intent);
            }
        });
    }

    @Override
    public void loginEroo() {
        Toast.makeText(MainActivity.this, "登录失败", Toast.LENGTH_SHORT).show();

    }
}

2.1:点击注册按钮

public class RegisterActivity extends AppCompatActivity implements RegisterView{

    private RegisterPresenter presenter;
    private EditText re_username;
    private EditText re_pwd;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_register);
        Button  re_login= (Button) findViewById(R.id.re_login);
        re_username = (EditText) findViewById(R.id.re_username);
        re_pwd = (EditText) findViewById(R.id.re_pwd);

        presenter = new RegisterPresenter(RegisterActivity.this,this);
        //注册按钮
        re_login.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                if(re_username.length()<11&&re_username.length()>11)
                {
                    Toast.makeText(RegisterActivity.this,"请输入正确的手机号!",Toast.LENGTH_SHORT).show();
                }
                if(re_pwd.length()<6)
                {
                    Toast.makeText(RegisterActivity.this,"密码不能小于6位!",Toast.LENGTH_SHORT).show();

                }
                presenter.getDate(re_username.getText().toString(),re_pwd.getText().toString());

            }
        });
    }

    @Override
    public void reGisterusernamenull() {
        Toast.makeText(this, "手机号输入有误!", Toast.LENGTH_SHORT).show();
    }

    @Override
    public void reGisterpwdnull() {
        Toast.makeText(this, "密码输入有误!", Toast.LENGTH_SHORT).show();

    }

    @Override
    public void reGistersuccenful() {
                runOnUiThread(new Runnable() {
                    @Override
                    public void run() {
                        Toast.makeText(RegisterActivity.this,"注册成功",Toast.LENGTH_SHORT).show();
                        finish();

                    }
                });
    }

    @Override
    public void reGisterEroo() {
        Toast.makeText(this,"注册失败",Toast.LENGTH_SHORT).show();
    }

    @Override
    public void reGisterPhon() {

    }

    @Override
    public void reGisterPwd() {

    }
}

2.1.2:注册的Presenter层



public class RegisterPresenter {
    private RegisterView view;
    private Context context;
    private RegisterModel model;


    public RegisterPresenter(Context context, RegisterView view) {
        this.view = view;
        this.model = new RegisterModel();
        this.context = context;
    }


    public void getDate(final String name, final String pwd) {
        model.getData(context, name, pwd, new RegisterLinserter() {
            @Override
            public void setRegisSuccssful() {
                view.reGistersuccenful();
            }
            @Override
            public void setRegisEorr() {
                view.reGisterEroo();
            }

            @Override
            public void setRegisMobileNull() {
            }

            @Override
            public void setRegisPwdNull() {
                view.reGisterpwdnull();

            }
        });
    }
}


2.1.2:注册的view层


public interface RegisterView {
     //注册
    public  void reGisterusernamenull();
    public void reGisterpwdnull();
    public  void reGistersuccenful();
    public  void reGisterEroo();

}


2.1.3:注册的Model层



public class RegisterModel {


    public void getData(final Context context, final String name, final String pwd, final RegisterLinserter linserter) {
        if (TextUtils.isEmpty(name)) {
            linserter.setRegisMobileNull();


        }
        if (TextUtils.isEmpty(pwd)) {
            linserter.setRegisPwdNull();


        }
        Map<String, String> map = new HashMap<>();
        map.put("mobile", name);
        map.put("password", pwd);
        //请求数据
        OkHttp3Utils.doPost("http://120.27.23.105/user/reg", map, new Callback() {
            @Override
            public void onFailure(Call call, IOException e) {
                linserter.setRegisEorr();
            }


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


                String string = response.body().string();
                Gson gson = new Gson();
                JavaBean javaBean = gson.fromJson(string, JavaBean.class);
                String code = javaBean.getCode();
                if ("0".equals(code)) {
                    linserter.setRegisSuccssful();


                }
            }
        });
    }
}


2.1.4:Model层对应的接口


public interface RegisterLinserter {
    public  void setRegisSuccssful();
    public  void setRegisEorr();
    public  void setRegisMobileNull();
    public  void setRegisPwdNull();
}


2.2.0:点击登录按钮,由于登录按钮不需要跳转新的Activity,直接在点击事件中完成

登录的Presenter层

public class LoginOrRegisterPresenter {
    private LoginOrRegisterView view;
    private LoginOrRegisterModel model;


    public LoginOrRegisterPresenter(LoginOrRegisterView view) {
        this.view = view;
        this.model = new LoginOrRegisterModel();
    }


    public void getLogin(Context context, String name, String pwd) {
        model.getLogin(context, name, pwd, new LoginLister() {
            @Override
            public void setLoginSuccssful(JavaBean javaBean) {
                view.succenful(javaBean);
            }


            @Override
            public void setLoginEorr() {
                view.loginEroo();
            }

            @Override
            public void setLoginMobilePwdNull() {
                view.usernamePwdnull();
            }
        });
    }
}

2.2.1:登录的view层



public interface LoginOrRegisterView {
    //密码用户名为空
    public  void usernamePwdnull();
    public  void succenful(JavaBean javaBean);
    public  void loginEroo();

}


2.2.2:登录的Model层

public class LoginOrRegisterModel {

    private SharedPreferences sp;

    public void getLogin(Context context, final String name, final String pwd, final LoginLister loginLister) {
        sp = context.getSharedPreferences("confing", Context.MODE_PRIVATE);
        Map<String, String> map = new HashMap<>();
        map.put("mobile", name);
        map.put("password", pwd);
        OkHttp3Utils.doPost("http://120.27.23.105/user/login", map, new Callback() {
            @Override
            public void onFailure(Call call, IOException e) {
                loginLister.setLoginEorr();
            }

            @Override
            public void onResponse(Call call, Response response) throws IOException {
                String result = response.body().string();
                Gson gson = new Gson();
                JavaBean loginJavaBean = gson.fromJson(result, JavaBean.class);
                String code = loginJavaBean.getCode();
                if ("0".equals(code)) {
                    loginLister.setLoginSuccssful(loginJavaBean);
                    SharedPreferences.Editor edit = sp.edit();
                    edit.putBoolean("flag", true);
                    edit.putString("modile", name);
                    edit.putString("pwd", pwd);
                    edit.commit();
                }
            }
        });
    }
}

2.2.3:Model层对应的接口


public interface LoginLister {
    public void setLoginSuccssful(JavaBean javaBean);

    public void setLoginEorr();

    public void setLoginMobilePwdNull();
}





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值