Android MVP模式简单易懂的介绍方式 (二)
上一篇文章我们介绍完了Model的创建和思路,那么这一篇文章我们继续借着讲Presenter。Presenter就是把原来写在Activtiy中的业务逻辑抽象出来的接口,然后再写一个类去实现这个业务逻辑的接口。然后,由于Presenter其实是作为View和Model之间沟通的桥梁,而模块之间的沟通是通过什么沟通呢?当然是接口啦。那么登陆需要什么业务逻辑呢?需要做登陆这个操作,然后告诉UI登陆结果、清空界面数据等等对吧。也就是说,UI需要的逻辑、我们写到Presenter上去。因此我们这写。
public interface ILoginPresenter {
void clear();
void doLogin(String name, String passwd);
}
这个接口提供了两个方法,一个是清空数据的方法,一个是登陆操作的方法。然后我们还需要写一个类来实现他。由于Presenter是作为View和Model之间沟通的桥梁,因此,Presenter需要拥有IUser(上一篇文章写的)、 ILoginView(下一篇文章会介绍)两个接口。因此,我们这样写这个类。那么,来到这一步,Presenter也就完成了,接下来我们在下一篇文章中Android MVP模式简单易懂的介绍方式 (三)介绍View。
public class ILoginPresenterCompl implements ILoginPresenter{
ILoginView iLoginView;
IUser iUser;
/***
*
* @param iLoginView Activity需要实现iLoginView接口并将这个接口通过构造方法传给ILoginPresenterCompl
*/
public ILoginPresenterCompl( ILoginView iLoginView){
this.iLoginView = iLoginView;
}
@Override
public void clear() {
iLoginView.onClearText();
}
@Override
public void doLogin(String name, String passwd) {
//执行判断逻辑
iUser = new UserModel(name,passwd);
boolean res = false;
int code = iUser.checkUserValidity();
if (code ==1){
res = true;
}
iLoginView.onLoginReuslt(res,code);
}
}
Android MVP模式简单易懂的介绍方式 (二)的更多相关文章
- Android MVP模式简单易懂的介绍方式 (三)
Android MVP模式简单易懂的介绍方式 (一) Android MVP模式简单易懂的介绍方式 (二) Android MVP模式简单易懂的介绍方式 (三) 讲完M和P,接下来就要讲V了.View ...
- Android MVP模式简单易懂的介绍方式 (一)
Android MVP模式简单易懂的介绍方式 (一) Android MVP模式简单易懂的介绍方式 (二) Android MVP模式简单易懂的介绍方式 (三) 最近正在研究Android的MVP模式 ...
- Android MVP模式 简单易懂的介绍方式
主要学习这位大神的博客:简而易懂 Android MVP模式 简单易懂的介绍方式 https://segmentfault.com/a/1190000003927200
- MVP 模式简单易懂的介绍方式
为什么用Android MVP 设计模式? 当项目越来越庞大.复杂,参与的研发人员越来越多的时候,MVP 模式 的优势就充分显示出来了. MVP 模式是 MVC 模式在 Android 上的一种变体, ...
- android MVP模式简单介绍
原文 http://zhengxiaopeng.com/2015/02/06/Android%E4%B8%AD%E7%9A%84MVP/ 前言 MVP作为一种MVC的演化版本在Android开发中受到 ...
- Android MVP模式简单介绍:以一个登陆流程为例
老的项目用的MVC的模式,最近完成了全部重构成MVP模式的工作,虽然比较麻烦,好处是代码逻辑更加清楚.简洁,流程更加清晰,对于后续版本迭代维护都挺方便.对于一些想要学习MVP模式的同学来讲,百度搜出来 ...
- Android MVP模式
转自http://segmentfault.com/blogs,转载请注明出处Android MVP Pattern Android MVP模式\[1\]也不是什么新鲜的东西了,我在自己的项目里也普遍 ...
- android MVP模式介绍与实战
android MVP模式介绍与实战 描述 MVP模式是什么?MVP 是从经典的模式MVC演变而来,它们的基本思想有相通的地方:Controller/Presenter负责逻辑的处理,Model提供数 ...
- Android架构篇--MVP模式的介绍篇
摘要: 在MVVM成熟之前MVP模式在Android上有被神化的趋势,笔者曾经在商业项目中从零开始大规模采用过MVP模式对项目进行开发.在使用MVP模式进行开发的时候发现项目的结构模式对开发是有一定的 ...
随机推荐
- Luogu 3690 Link Cut Tree
Luogu 3690 Link Cut Tree \(LCT\) 模板题.可以参考讲解和这份码风(个人认为)良好的代码. 注意用 \(set\) 来维护实际图中两点是否有直接连边,否则无脑 \(Lin ...
- 使用python处理selenium中的frame切换问题
# iframe有name或id值 self.driver.switch_to.frame('iframe-name-id') # iframe没有name或id值 xf = self.driver. ...
- MySQL 根据身份证查找年龄段
SELECT idcard,YEAR (NOW()) - substring(idcard, 7, 4) as nFROM es_members where idcard >0 HA ...
- 船长带你看书——《selenium2 python 自动化测试实战》(1)
有很多selenium的教程,你没有从头看,当你看的时候已经很难跟上作者的节奏了.现在,你有机会再从头学一次了.从今天开始,船长会从最基本的知识开始,和大家一起学selenium.能不能跟着一起就看大 ...
- Vue生命周期函数详解
vue实例的生命周期 1 什么是生命周期(每个实例的一辈子) 概念:每一个Vue实例创建.运行.销毁的过程,就是生命周期:在实例的生命周期中,总是伴随着各种事件,这些事件就是生命周期函数: 生命周期: ...
- 小波分解和合成的simulink仿真
采用5-3提升小波的方法 小波分解 数据拆分 预测 更新 数据输出使能电路 电路共有两个输入三个输出,in1是数据输入,in2是输入数据有效信号,out1是更新后的低频信号,out2是预测的高频信号, ...
- webpack 简单使用
备注: 使用yarn 结合npm 模块进行简单项目开发 1. 安装 yarn init yarn add webpack --dev yarn global add live-server 2. 添 ...
- MySQL 8 连接时出现 1251 和 2059 错误
MySQL 8 连接时出现 1251 和 2059 错误 原因是MySQL 8 改了密码加密算法.1 原来是:mysql_native_password MySQL8 改成了 caching_sha2 ...
- Linux VPS禁止某个IP访问
http://www.vpser.net/security/linux-vps-deny-ip.html
- dateframe行列插入和删除操作
ar = np.array(list("ABCDEFG")) # array只是Convert,默认会copy源值.asarray也是Convert,如果源值是array则不cop ...