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模式进行开发的时候发现项目的结构模式对开发是有一定的 ...
随机推荐
- HihoCoder 1033交错和(数位DP第三题)
(写挂了,有空再补) 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 给定一个数 x,设它十进制展从高位到低位上的数位依次是 a0, a1, ..., an - 1,定义 ...
- BZOJ1066 SCOI2007 蜥蜴 【网络流-最大流】
BZOJ1066 SCOI2007 蜥蜴 Description 在一个r行c列的网格地图中有一些高度不同的石柱,一些石柱上站着一些蜥蜴,你的任务是让尽量多的蜥蜴逃到边界外. 每行每列中相邻石柱的距离 ...
- Java linux lame .wav音频转mp3 并且压缩
public class Test{ public static void main(String[] args) {try{ String shellString = "lame -b 1 ...
- pyqtree
pyqtree module API Documentation Classes class Index The top spatial index to be created by the user ...
- luarocks yum 安装引起的lapis lua 包查找问题(centos7版本)
备注: 大家在进行lapis 开发的时候有些人比较懒直接使用yum 按照luarocks,之后 使用luarocks 安装lapis 一般来说对于linux 64位的环境都会有些问题(包找 ...
- thinkphp 使每一个模板页都包括一个header文件和一个footer文件
在开发的过程中,常常遇到要使每一个模板页都包括一个header文件和一个footer文件.thinkPHP的模板布局为我们提供了一个叫全局配置方式可以解决问题. 1. 在配置文件里开启LAYOUT_O ...
- bzoj 2632 [neerc2011]Gcd guessing game——贪心(存疑)
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2632 官方题解:http://neerc.ifmo.ru/archive/2011/neer ...
- C# 7.0 新特性收集
1.out-variables(Out变量) 2.Tuples(元组) 3.Pattern Matching(匹配模式) 4.ref locals and returns (局部变量和引用返回) 5. ...
- js的delegate回调例子
暂时没发现有具体的实际用处,先记录下 <!DOCTYPE html> <html> <head lang="en"> <meta char ...
- Ajax下载
<!DOCTYPE html> <html lang="en" xmlns="http://www.w3.org/1999/xhtml"> ...