利用MVP寫登入介面
阿新 • • 發佈:2018-11-14
要先把介面類寫出來
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中註冊第二個頁面