简单的一个利用MVP做的登录
来源:互联网 发布:如何下载linux系统 编辑:程序博客网 时间:2024/05/17 18:01
首先是实体类
public class Lobean { String code; public Lobean(String code) { this.code = code; } public String getCode() { return code; } public void setCode(String code) { this.code = code; }}
还有就是下面的View model presenter层的封装
public interface IModel { void Login(String name, String pass, CallBack callBack); interface CallBack{ void setData(String str); }}
定义完接口是指要记得实现类
public class UserModel implements IModel{ String path="http://120.27.23.105/user/login"; @Override public void Login(String name, String pass, final CallBack callBack) { Map<String,String> map=new HashMap<>(); map.put("mobile",name); map.put("password",pass); OkHttp3Utils.getInstance().doPost(path, map, new GsonObjectCallback<Lobean>() { @Override public void onUi(Lobean lobean) { String code = lobean.getCode(); callBack.setData(code); } @Override public void onFailed(Call call, IOException e) { } });presenter就是来处理View层和model层的逻辑的public class Loginpresenter { String path="http://120.27.23.105/user/login"; IModel iModel; IView iView; Context context; public Loginpresenter(Context context, IView iView) { this.context = context; this.iView = iView; this.iModel = new UserModel(); } public void login(){ final String name = iView.getName(); final String pass = iView.getPass(); iModel.Login(name, pass, new IModel.CallBack() { @Override public void setData(String str) { if ("0".equals(str)){ Toast.makeText(context,"登录成功",Toast.LENGTH_SHORT).show(); }else { Toast.makeText(context,"登录失败",Toast.LENGTH_SHORT).show(); } } }); }}View层定义来是为了获取数据的public interface IView{ void setName(String name); void setPass(String pass); String getName(); String getPass();}下面是mainactivity里面执行的一些public class MainActivity extends AppCompatActivity implements IView{ Button btn; EditText et_name, et_pass; Loginpresenter loginpresenter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); btn = (Button) findViewById(R.id.btn); et_name = (EditText) findViewById(R.id.et_name); et_pass = (EditText) findViewById(R.id.et_pass); loginpresenter=new Loginpresenter(this,this); btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { loginpresenter.login(); } }); } @Override public void setName(String name) { et_name.setText(name); } @Override public void setPass(String pass) { et_pass.setText(pass); } @Override public String getName() { return et_name.getText().toString(); } @Override public String getPass() { return et_pass.getText().toString(); }}
阅读全文
0 0
- 简单的一个利用MVP做的登录
- android+使用mvp做一个简单的登录
- MVP 一个简单的登录+判断
- MVP的简单登录
- MVP的简单登录
- MVP简单的实现登录
- 一个登录的MVP例子
- 利用java做一个简单的计算器
- 利用java做一个简单的计算器
- 利用java做一个简单的计算器
- 利用vue做一个简单的todolist
- 利用Node.js中的Session做简单的登录
- 一个简单的MVP模式
- 一个简单的MVP Demo
- 简单的用MVP实现登录界面
- Android MVP模式的简单登录
- mvp的基本登录(简单实现)
- 用servlet做了一个简单的登录界面
- HttpClient
- 函数的极限
- C语言 变量数组只能在头部定义
- AdvancedInstaller打包工具使用(四)
- 习题5;5.1
- 简单的一个利用MVP做的登录
- HTML元素
- MySQL利用命令和PHP脚本创建删除一个数据库
- 机器学习实战_09_树回归_源代码错误修正
- android程序执行adb shell命令
- hashmap数据结构 数组+链表
- 是的,该对自己狠点了
- ES6系列之---数组新增的内置函数
- Android 控制线程的开始关闭