Android登录代码MVP架构详解
登录代码MVP架构的具体实现,分享给大家。
MainActivity.java
publicclassMainActivityextendsAppCompatActivityimplementsView.OnClickListener,Mvp.fff{ privateEditTextmUsername; privateEditTextmPassword; privateButtonlogin; privateProgressDialogmProgressDialog; privateMvpmMvp; @Override protectedvoidonCreate(BundlesavedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initView(); mMvp=newMvp(this); } privatevoidinitView(){ mUsername=(EditText)findViewById(R.id.username); mPassword=(EditText)findViewById(R.id.password); login=(Button)findViewById(R.id.login); login.setOnClickListener(this); //动态的创建一个进度条 mProgressDialog=newProgressDialog(this); } @Override publicvoidonClick(Viewview){ switch(view.getId()){ caseR.id.login: Stringuser=mUsername.getText().toString(); Stringpass=mPassword.getText().toString(); finalUserusers=newUser(); users.username=user; users.password=pass; Booleanempty=mMvp.isEmpty(users); if(empty){ mProgressDialog.show(); mMvp.isLogin(users); }else{ Toast.makeText(MainActivity.this,"输入不能为空",Toast.LENGTH_SHORT).show(); return; } break; } } @Override publicvoidsuccess(){ runOnUiThread(newRunnable(){ @Override publicvoidrun(){ mProgressDialog.dismiss(); Toast.makeText(MainActivity.this,"欢迎回来,思密达",Toast.LENGTH_SHORT).show(); } }); } @Override publicvoiddoil(){ runOnUiThread(newRunnable(){ @Override publicvoidrun(){ mProgressDialog.dismiss(); Toast.makeText(MainActivity.this,"登录失败,账号密码有问题",Toast.LENGTH_SHORT).show(); } }); } @Override protectedvoidonDestroy(){ super.onDestroy(); mMvp=null; } }
UserLogin.java
publicclassUserLogin{//MVCController层 publicbooleanlogin(Userusers){ SystemClock.sleep(1000); if("frq".equals(users.username)&&"frq".equals(users.password)){ returntrue; }else{ returnfalse; } } }
Mvp.java
publicclassMvp{//MVPPrecenter层 publicMvp(ffffff){ mFff=fff; } publicBooleanisEmpty(Userusers){ if(TextUtils.isEmpty(users.username)||TextUtils.isEmpty(users.password)){ returnfalse; }else{ returntrue; } } publicvoidisLogin(finalUserusers){ newThread(){ @Override publicvoidrun(){ UserLoginlogin=newUserLogin(); booleanb=login.login(users); if(b){ mFff.success(); }else{ mFff.doil(); } } }.start(); } publicinterfacefff{ voidsuccess(); voiddoil(); } privatefffmFff; } =========================================== publicclassPrecenter{ publicPrecenter(ffffff){ mFff=fff; } publicvoidAs(StringurlString){ newAsyncTask>(){ @Override protectedArrayList doInBackground(String...strings){ Strings=newHttpUrl().toString(strings[0]);//调用外部类 FirstBeanfirstBean=newGson().fromJson(s,FirstBean.class);//gson解析 if(firstBean!=null){ return(ArrayList )firstBean.getResult(); } returnnull; } @Override protectedvoidonPostExecute(ArrayList resultBeans){ super.onPostExecute(resultBeans); if(resultBeans!=null){ mFff.success(resultBeans); }else{ mFff.bai(); } } }.execute(urlString); } publicinterfacefff{ voidsuccess(ArrayList resultBeans); voidbai(); }; privatefffmFff; }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。