首页 > 编程知识 正文

史上最年轻的常规赛mvp获得者,MVP方法

时间:2023-05-03 18:20:00 阅读:149697 作者:4874

本文适用于知道MVP设计模式但还不太了解的同学。 如果有错误的地方,欢迎指出来。

那么写简单的demo吧。 从实例中学习很快。 举个登录的例子吧。

步骤1 :第一个资源文件

? XML version=' 1.0 ' encoding=' utf-8 '? linearlayoutxmlns 3360 Android=' http://schemas.Android.com/apk/RES/安卓' xmlns 3360 tools=' http://schemas.Android ' xmlns 360 tools=' 3358 schemas.Android activity _ main ' Android 3360 lamas _ height=' match _ parent ' Android ' height=' match _ parent ' andro ity ottom=' @ dimen/activity _ vertical _ mart activity _ horizontal _ margin ' activity _ horizontal _ margin ' Android : padding top=' @ dimen/activity _ vertical _ margin ' tools : context=' com.example.my.my application.main activity ' Android 3360 weightssssssation ent ' Android 3360 layout _ height=' wrap _ content ' Android 3360 hint=pass ' Android 3360 layout _ width=' match _ parent 60 hint=denglu ' Android 3360 layout _ width=' match _ parent ' Android 3360 layout _ height=' wrap _ content ' Android 333d ? 握着草,也不要明说,上去就接嘴! )没关系。 在代码中注释了。 不用担心看不懂。

成功登录public interface IMainView { //后,请使用此方法void LoginSuccess (; //如果登录失败,请调用此方法以调用voidloginfailed(stringmsg ); }第三步,将业务逻辑写入Presenter

publicclassmainpresenter { privateimainviewview; //publicmainpresenter (imainviewview ) { this.view=view; //登录逻辑公共语音登录(string name, String pass ) if ) name.isempty(||pass.isEmpty ) (处理{ view.LoginFailed ) } else if (name.isempty ) } else if (name.equals (main activity.name ) pass.equals (main activity.pass ) ) { view.LoginSuccess; }else { view.LoginFailed ('密码或用户名不正确); }}最后,我们实现那个接口就可以了

package com.example.my.my application; import Android.support.V7.app.appcompatactivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; publicclassmainactivityextendsappcompatactivityimplementsimainview,view.onclick listener { publicstaticfinalstringtag=' mmmag publicstaticfinalstringpass=' 111111 '; EditText nameText,passText; Button mButton; 主打印机打印机; @ overrideprotectedvoidoncreate (bundlesavedinstancestate ) super.oncreate ) savedinstancestate; setcontentview (r.layout.activity _ main; initView (; } private void initView () name text=(edittext ) findviewbyid ) r.id.name ); passtext=(edittext ) findviewbyid ) r.id.pass; Mbutton=(Button ) findviewbyid ) r.id.Denglu; mbutton.setonclicklistener (this; presenter=newmainpresenter (this; } @ overridepublicvoidloginsuccess () toast.maketext ) mainactivity.this,'登录成功', Toast.LENGTH_LONG ).show ) ) ) ) 652 ) @ overridepublicvoidloginfailed (string msg ) toast.maketext ) ) Toast.LENGTH_LONG ).show } @ overridepublicvoidonclick (viewv ) switch ) v.getid ) caser.id.denglu 3360 string ng ng String pass=passText.getText ().toString ); presenter.login(name,pass ); }}参考链接: http://www.Jian Shu.com/p/5c 133 A8 a2b 0d

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。