用mvp模式實現(xiàn)登錄注冊的統(tǒng)一校驗

一個應(yīng)用中一般情況下注冊,忘記密碼這些功能的校驗基本上是一樣的,使用現(xiàn)在流行的mvp設(shè)計模式,可以簡化校驗操作,將校驗操作統(tǒng)一寫在interface中,也可以更方便的維護(hù)應(yīng)用。

1.定義統(tǒng)一校驗接口:

public interface ICheckInfoData {    
void getCheckInfo(String mobile,String editPhone,String password,String code,String check,final OnMessageResultListener listener);
}

實現(xiàn)校驗接口:

public class ICheckInfoImpl implements ICheckInfoData{
 @Override
public void getCheckInfo(String mobile, String editPhone,String password, String code,String check, final OnMessageResultListener listener) {    
   if(TextUtils.isEmpty(mobile)){      
    listener.onMessageSuccess("請輸入手機(jī)號!");        
     return;    
}
if(TextUtils.isEmpty(code))
{   
 listener.onMessageSuccess("請輸入驗證碼!");   
 return;
}
if(TextUtils.isEmpty(password)){   
 listener.onMessageSuccess("請輸入密碼!");    
return;
}
if(password.length()<6){    
listener.onMessageSuccess("密碼長度過短!");    
return;}
if(!CheckUtils.isMobileNO(mobile)){    
listener.onMessageSuccess("請輸入正確的手機(jī)號碼!");    
return;}if(!code.equals(check)){    
listener.onMessageSuccess("請輸入正確的驗證碼!");  
  return;}
listener.onMessageSuccess("ok");

}

2.實現(xiàn)view層的接口

public interface ICheckInfoView {    
String getMoblie();   
 String getPassword();    
String getCode();    
String getEditPhone();    
String getCheck();    
<T>void onMessageSuccess(T t);
}

3.實現(xiàn)CheckInfoPresenter

public class CheckInfoPresenter {   
 private ICheckInfoData mICheckInfoData;   
 private ICheckInfoView mICheckInfoView;    
public CheckInfoPresenter(ICheckInfoView checkView) {   
     this.mICheckInfoView = checkView;        
mICheckInfoData = new ICheckInfoImpl();   
 }    
public void getCheckInfoMessage() {        
mICheckInfoData.getCheckInfo(mICheckInfoView.getMoblie(), mICheckInfoView.getEditPhone(), mICheckInfoView.getPassword(),           
 mICheckInfoView.getCode(), mICheckInfoView.getCheck(), new OnMessageResultListener() {                  
  @Override                    
public <T> void onMessageSuccess(T t) {                        
mICheckInfoView.onMessageSuccess(t);                 
   }               
 });   
 }
}

如此一來,就可以在需要校驗的地方實現(xiàn):
public class FindPsdActivity extends BaseActivity implements ICheckInfoView
方便了以后的維護(hù)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,560評論 25 708
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 134,993評論 19 139
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法,類相關(guān)的語法,內(nèi)部類的語法,繼承相關(guān)的語法,異常的語法,線程的語...
    子非魚_t_閱讀 31,779評論 18 399
  • 這是羅振宇采訪羅永浩的,本人記下的筆記 一件事情如何才能做的好** 你全部你所能使用的資源,都撲上去,做到極致,很...
    郭青耀閱讀 252評論 0 2
  • 人民的名義,聽起來又像是人民的福利或者人民的安利。 一 好久沒追劇了。當(dāng)前一陣《人民的名義》開播并立即大熱時,我并...
    蘭de甯閱讀 442評論 4 1