利用MVP写登录界面

要先把接口类写出来

public interface UserInterface{
        void succcess();
        void fild();
        void Rem(String name,String pwd);
    }
    public UserInterface mUserInterface;

注意 还有一步在MainActivity继承接口之后去写

在main中写  log=new LoginPersenter(this);

然后再在接口中写
    public LoginPersenter(UserInterface mainActivity) {
        mUserInterface=mainActivity;
    }

main中继承接口后会出现三个方法把三个方法里的功能写完

@Override
//成功后所作的功能
    public void succcess() {
        Toast.makeText(this,"登录成功",Toast.LENGTH_SHORT).show();
        startActivity(new Intent(MainActivity.this,Show.class));
    }

    @Override
    //没有登录上的
    public void fild() { Toast.makeText(this,"登录随便吧",Toast.LENGTH_SHORT).show();


    }

    @Override
    //当记住密码时
    public void Rem(String ppd, String name) {
          model.setText(name);
          pwd.setText(ppd);
          cb2.setChecked(true);
    }

当我们要记住密码是要用到的是 SharedPreferences
getSharedPreferences(“ss”,MODE_PRIVATE);创建sharepreferences

假设我们接口类的名字叫LoginPersenter
判断是否为空

String name = model.getText().toString();
                String pwd = this.pwd.getText().toString();

                user=new User();
                user.name=name;
                user.pwd=pwd;

                boolean ok=LoginPersenter.isNull(user);

//下面是在接口类中
      public static boolean isNull(User user) {
        if(TextUtils.isEmpty(user.name)||TextUtils.isEmpty(user.pwd)){
            return false;
        }
        return true;

    }
//接下来就是返回是否为空
如果不是空的
if(cb2.isChecked()){
    //如果记住密码选中然后去接口中去做
                        Toast.makeText(this, "ok", Toast.LENGTH_SHORT).show();
                        log.save(share,user);
                    }
//接口中用share去记住密码和用户名
public static void save(SharedPreferences share, User user) {
        SharedPreferences.Editor edit = share.edit();
        edit.putString("name",user.name);
        edit.putString("pwd",user.pwd);
        edit.putBoolean("rem",true);
        edit.commit();
    }
    然后在main中把user传到接口中去判断是不是正确的用户名
    log.login(user);
    //接口中
    public void login(User user) {
        if (user.name.equals("1")&&user.pwd.equals("1")){
            mUserInterface.succcess();
        }else{
            mUserInterface.fild();
        }
    }

记住在接口中如果已经点击了记住密码那么在initview中就要写

log.rem(share);

public void rem(SharedPreferences share) {
boolean rem = share.getBoolean(“rem”, false);
String name = share.getString(“name”, “”);
String pwd = share.getString(“pwd”, “”);
if(rem){
mUserInterface.Rem(name,pwd);
}
}
在manifests中注册第二个页面

猜你喜欢

转载自blog.csdn.net/Comfortablelive/article/details/84064090