要先把接口类写出来
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中注册第二个页面