Android 最简单的MVP案例;
随手撸个发出来:
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案例;的更多相关文章
- 转:Android开发中的MVP架构(最后链接资源不错)
Android开发中的MVP架构 最近越来越多的人开始谈论架构.我周围的同事和工程师也是如此.尽管我还不是特别深入理解MVP和DDD,但是我们的新项目还是决定通过MVP来构建. 这篇文章是我通过研究和 ...
- Android中简单活动窗口的切换--Android
本例实现Android中简单Activity窗口切换:借助intent(意图)对应用操作(这里用按钮监听)等的描述,Android根据描述负责找对应的组件,完成组件的调用来实现活动的切换……案例比较简 ...
- Android 实现简单音乐播放器(二)
在Android 实现简单音乐播放器(一)中,我介绍了MusicPlayer的页面设计. 现在,我简单总结一些功能实现过程中的要点和有趣的细节,结合MainActivity.java代码进行说明(写出 ...
- Android 实现简单音乐播放器(一)
今天掐指一算,学习Android长达近两个月了,今天开始,对过去一段时间的学习收获以及遇到的疑难杂症做一些总结. 简单音乐播放器是我自己完成的第一个功能较为完整的APP,可以说是我的Android学习 ...
- Android课程---Android Studio简单设置
Android Studio 简单设置 界面设置 默认的 Android Studio 为灰色界面,可以选择使用炫酷的黑色界面.Settings-->Appearance-->Theme, ...
- Android实现简单音乐播放器(MediaPlayer)
Android实现简单音乐播放器(MediaPlayer) 开发工具:Andorid Studio 1.3 运行环境:Android 4.4 KitKat 工程内容 实现一个简单的音乐播放器,要求功能 ...
- Android实现简单拨号器
Android实现简单拨号器 开发工具:Andorid Studio 1.3 运行环境:Android 4.4 KitKat 代码实现 界面布局只有GridLayout和EditText两个控件,全部 ...
- 【转】Android Studio简单设置
原文网址:http://ask.android-studio.org/?/article/14 Android Studio 简单设置 界面设置 默认的 Android Studio 为灰色界面,可以 ...
- Android发展简单介绍
Android一词的本义指“机器人”,同一时候也是Google于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统.中间件.用户界面和应用软件组成,号称是首个为移动 ...
随机推荐
- 为DBNavigator的按钮加中文
转自:http://hi.baidu.com/debiansir/item/0699f5b6bb4d99f063388e71 /*Delphi中数据库控件DBNavigator使用起来不错,但是按钮上 ...
- Linux3.10.0块IO子系统流程(7)-- 请求处理完成
和提交请求相反,完成请求的过程是从低层驱动开始的.请求处理完成分为两个部分:上半部和下半部.开始时,请求处理完成总是处在中断上下文,在这里的主要任务是将已完成的请求放到某个队列中,然后引发软终端让中断 ...
- SQL-46 在audit表上创建外键约束,其emp_no对应employees_test表的主键id。
题目描述 在audit表上创建外键约束,其emp_no对应employees_test表的主键id.CREATE TABLE employees_test(ID INT PRIMARY KEY NOT ...
- echarts.init 使用jq获取初始化对象
var myChart = echarts.init($('#main')[0]);// 或者var myChart = echarts.init($('#main').get(0));
- 学号 20175223 《Java程序设计》第2周学习总结
学号 20175223 <Java程序设计>第2周学习总结 教材学习内容总结 第二章要点: 要点1:标识符与关键字 要点2:基本数据类型:逻辑类型boolean,整数类型int|byte| ...
- sql循环查询树形结构
pid:父类别id ' connect by prior pid = id --查询父祖类别 union ' connect by prior id = pid;--查询子孙类别 这样查询出选中id ...
- 利用htmlparser读取html文档的内容
1.添加相关的的jar htmlparser-2.1.jar 2.方法和代码 public static String readHtml(File html) { String htmlPath = ...
- wc语法2
wc命令的功能为统计指定文件中的字节数.字数.行数, 并将统计结果显示输出. 语法:wc [选项] 文件… 说明:该命令统计给定文件中的字节数.字数.行数.如果没有给出文件名,则从标准输入读取.wc同 ...
- 前端-URL到页面显示的全过程
大概有以下几步: DNS解析(浏览器缓存→系统缓存→路由器缓存→ISP DNS缓存→从根域名服务器递归搜索) 建立TCP链接(TCP的三次握手) 浏览器向服务器发送HTTP请求 服务器返回结果给浏览器 ...
- DAY 04 while和for循环
1.结束while循环的两种方式: 1.修改条件:等到下一次循环开始判断条件为假时才会结束循环,剩余代码块依旧会执行 2.break:直接结束本层循环,跳过剩余代码 2.while+continue ...