随手撸个发出来:

V:界面层

//界面层需要实现P.View方法,然后重写P.View中的方法;M层给的数据就在这些个方法的参数中;
// 还要获取到P.Provide的实例,使用P.Provide去调用M层的方法;
public class ActivityDemo extends AppCompatActivity implements DemoP.View { private DemoP.Provide provide;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_demo);
new DemoM(this);
provide.start();
} @Override
public void showMessage(String msg) {
Log.i("mvp", "showMessage: "+msg);
} @Override
public void Provide(DemoP.Provide m) {
provide = m;
} }

P:连接层

public interface DemoP {

    //提供界面
interface View{
void showMessage(String msg);
void Provide(DemoP.Provide m);
} //提供信息
interface Provide{
void start();
}
}

M:数据层

// 数据层需要实现P.Provide,然后重写P.Provide;V层就要调用你的这些方法;
// 还要获取到P.View的实例,使用P.View把你处理好的数据返回给V层;
public class DemoM implements DemoP.Provide{ private DemoP.View view; public DemoM(DemoP.View v){
view = v;
view.Provide(this);
}
@Override
public void start() {
StringBuffer ss = new StringBuffer();
for (int i = 0; i < 10; i++) {
ss.append("\n--"+i);
}
view.showMessage(ss.toString());
}
}

如果刚接触MVP看着有疑惑,就照着撸一遍,大致就能懂了;

还可以看看封装一下的:MVP案例

Android 最简单的MVP案例;的更多相关文章

  1. 转:Android开发中的MVP架构(最后链接资源不错)

    Android开发中的MVP架构 最近越来越多的人开始谈论架构.我周围的同事和工程师也是如此.尽管我还不是特别深入理解MVP和DDD,但是我们的新项目还是决定通过MVP来构建. 这篇文章是我通过研究和 ...

  2. Android中简单活动窗口的切换--Android

    本例实现Android中简单Activity窗口切换:借助intent(意图)对应用操作(这里用按钮监听)等的描述,Android根据描述负责找对应的组件,完成组件的调用来实现活动的切换……案例比较简 ...

  3. Android 实现简单音乐播放器(二)

    在Android 实现简单音乐播放器(一)中,我介绍了MusicPlayer的页面设计. 现在,我简单总结一些功能实现过程中的要点和有趣的细节,结合MainActivity.java代码进行说明(写出 ...

  4. Android 实现简单音乐播放器(一)

    今天掐指一算,学习Android长达近两个月了,今天开始,对过去一段时间的学习收获以及遇到的疑难杂症做一些总结. 简单音乐播放器是我自己完成的第一个功能较为完整的APP,可以说是我的Android学习 ...

  5. Android课程---Android Studio简单设置

    Android Studio 简单设置 界面设置 默认的 Android Studio 为灰色界面,可以选择使用炫酷的黑色界面.Settings-->Appearance-->Theme, ...

  6. Android实现简单音乐播放器(MediaPlayer)

    Android实现简单音乐播放器(MediaPlayer) 开发工具:Andorid Studio 1.3 运行环境:Android 4.4 KitKat 工程内容 实现一个简单的音乐播放器,要求功能 ...

  7. Android实现简单拨号器

    Android实现简单拨号器 开发工具:Andorid Studio 1.3 运行环境:Android 4.4 KitKat 代码实现 界面布局只有GridLayout和EditText两个控件,全部 ...

  8. 【转】Android Studio简单设置

    原文网址:http://ask.android-studio.org/?/article/14 Android Studio 简单设置 界面设置 默认的 Android Studio 为灰色界面,可以 ...

  9. Android发展简单介绍

    Android一词的本义指“机器人”,同一时候也是Google于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统.中间件.用户界面和应用软件组成,号称是首个为移动 ...

随机推荐

  1. Python---高级函数map, filter, zip, enumerate等的用法

    今天看自然语言处理这本书的时候,被这里的高级函数的概念吸引了,因为我觉得所有的函数都只是函数而已,是为了实现特定功能而实现的,不应该有高级,低级之分啊!不过了解之后,发现这几个函数确实是有点高级,非常 ...

  2. 数组去重复的时候遇到length变成1 的bug

    arrUnique:function(arr){ //传入空数组的时候有bug,length会变成1 所以修复下 if(arr.length == 0){ return []; } arr.sort( ...

  3. Python—装饰器详解

    装饰器:(语法糖) 本质是函数,它是赋予函数新功能,但是不改变函数的源代码及调用方式   原则: 1.不能修改被装饰函数的源代码 2.不能修改被装饰函数的调用方式 3.函数的返回值也不变 这两点简而言 ...

  4. IE浏览器使用VLC实时显示视频(海康、大华)

    VLC2.X 下载地址: https://download.csdn.net/download/zhutouaizhuwxd/10692873 CSDN必须要加分,你们用分下载吧 使用方法: 只需要添 ...

  5. <a></a>标签传参出现乱码问题

    在段代码在传递参数的时候会出现中文乱码,正常情况下,只要在接收参数的时候写上: request.setCharacterEncoding("UTF-8");就能解决问题. 但是,今 ...

  6. 《JavaScript Dom 编程艺术》读书笔记-第4章

    我的前端入门第一本书是<JavaScript Dom 编程艺术>,网上查找资料发现前端的入门推荐书籍最受好评的就是这本和<JavaScript 高级程序设计>了.之所以先选这本 ...

  7. Problem A: 类的初体验

    Description 定义一个类Data,只有一个double类型的属性和如下3个方法: 1.    void init(double d);——初始化属性值. 2.   double getVal ...

  8. Unable to resolve module crypto

    Add rn-nodeify to your devDependencies in package.json: "devDependencies": { "rn-node ...

  9. Python全栈之路----常用模块----sys模块

    sys.argv  命令行参数 List,第一个元素是程序本身路径 #test.py import sys print(sys.argv) D:\ProgramLearning\Py_program& ...

  10. tree-lstm初探

    https://zhuanlan.zhihu.com/p/35252733 可以先看看上面知乎文章里面的例子 Socher 等人于2012和2013年分别提出了两种区分词或短语类型的模型,即SU-RN ...