点击吐丝用mvp模式实现--狸菇凉_
model层的u体力是包里的Myutils
presenter层的Basepersenter和Mainpersenter
view层的activity包里的Mainactivity和iview包里的ImvpView和Mainview
utils类中
public class Utils {public static void httpGet(String url,UtilsInterface utilsInterface){//假象这里已经x.http.get网络请求操作了 //数据回来 //需要回掉给p层 //通过接口回掉,所以这里需要建立一个借口,在本类直接建立即可,专属utils的 utilsInterface.CallBack("哈哈,我是m层的数据"); }public interface UtilsInterface{<T>void CallBack(T mclass); }}
Basepersenter类里
public class BasePersenter <T extends IMvpview> {private T imvpview; public T getImvpview() {return imvpview; }public void setImvpview(T imvpview) {this.imvpview = imvpview; }}
Mainpersenter类里
public class Mainpersenter extends BasePersenter<MainInterface> {public void getData() {//请求数据,数据正规来说从m层毁掉回来 //在这里进行模拟 Utils.httpGet("ss", new Utils.UtilsInterface() {@Override public <T> void CallBack(T mclass) {// mclass这个参数就是m层utils传过的 //这个数据需要回掉给v层,所以需要获得v层的引用 //直接调用父类的getImvpview()方法获得v层的引用 getImvpview().CallBack((String) mclass); }}); }}
Mainactivity中
public class MainActivity extends AppCompatActivity implements View.OnClickListener,MainInterface{private Button btn_; @Override protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initView(); }private void initView() {btn_ = (Button) findViewById(R.id.btn_); btn_.setOnClickListener(this); }@Override public void onClick(View v) {switch (v.getId()) {case R.id.btn_:Mainpersenter mainpersenter = new Mainpersenter(); mainpersenter.setImvpview(this); mainpersenter.getData(); break; }}@Override public void CallBack(String string) {Toast.makeText(this, "vvvv=="+string, Toast.LENGTH_SHORT).show(); }}
ImvpView中
public interface IMvpview {}
MainInterface中
public interface MainInterface extends IMvpview {//MainActivity的专属接口,因为需要回掉吐司的数据 ,所以这个抽象方法的参数类型是string类型 void CallBack(String string); }
点击吐丝用mvp模式实现--狸菇凉_相关推荐
- 仅需6步,教你轻易撕掉app开发框架的神秘面纱(3):构造具有个人特色的MVP模式
1. MVP的问题 之前我们说过MVP模式最大的问题在于:每写一个Activity/Fragment需要写4个对应的文件,对于一个简易的app框架来说太麻烦了.所以我们需要对MVP进行一定的简化. 关 ...
- MVP模式在Android实际项目中的应用和优化
注:本文阅读需要对MVP模式有基本了解. MVP模式已经出现有很长一段时间了,但是火起来是这两年的事情. 关于MVP的概览,介绍,乃至于教程,Demo,实例,网上都有很多,我也有一篇文章专门收录了一些 ...
- 应用MVP模式写出可维护的优美Android应用
在Android开发中,我们常常会动辄写出数千行的Java类,而当一个Activity有4.5千行的时候,想找一个逻辑在哪儿就会显得异常痛苦了.比如想在数据加载错误的时候,显示一个提示信息,上上下下得 ...
- android 适合mvp模式,Android中的MVP:如何使Presenter层系统化?
MVP(Model View Presenter)模式是著名的 MVC(Model View Controller)的衍生物,并且是 Android 应用程序中管理表示层的***的模式之一. 这篇文章 ...
- 谈谈关于MVP模式中V-P交互问题
在差不多两年的时间内,我们项目组几十来号人都扑在一个项目上面.这是一个基于微软SCSF(Smart Client Software Factory)的项目,客户端是墨尔本一家事业单位.前两周,我奉命负 ...
- Android之MVP 模式:简单易懂的介绍方式
转载:https://segmentfault.com/a/1190000003927200 Android MVP Pattern Android MVP 模式1 也不是什么新鲜的东西了,我在自己的 ...
- android中的mvp模式怎么定义,详解MVP模式在Android开发中的应用
一.MVP介绍 随着UI创建技术的功能日益增强,UI层也履行着越来越多的职责.为了更好地细分视图(View)与模型(Model)的功能,让View专注于处理数据的可视化以及与用户的交互,同时让Mode ...
- java mvp模式_MVP模式入门(结合Rxjava,Retrofit)
本文MVP的sample实现效果: 老规矩,在说对MVP模式的理解之前还是要再谈谈MVC模式,了解了MVC的缺点.我们才知道为什么要用MVP. 关于MVC的图解,我在网上找到了一些图.如下: MVC模 ...
- iOS开发笔记--基于面向协议MVP模式下的软件设计
传统模式下的开发 MVC MVVM 基于面向协议MVP的介绍 MVP实战开发 说在前面: 相信就算你是个iOS新手也应该听说过MVC的,MVC是构建iOS App的标准模板.随着时间的推移,在iOS ...
- MVP模式在携程酒店的应用和扩展
前言 酒店业务部门是携程旅行的几大业务之一,其业务逻辑复杂,业务需求变动快,经过多年的研发,已经是一个代码规模庞大的工程,如何规范代码,将代码按照其功能进行分类,将代码写到合适的地方对项目的迭代起着重 ...
最新文章
- Blender液体烟与火VFX特效制作教程 Blender VFX Liquid Smoke Fire
- Oracle Mutex 机制 说明
- Hashtable的使用
- 计算机术语new一个,微机原理第一章计算机基础知识(new)
- HDU 2795 Billboard (线段树+贪心)
- 【机器人】一转眼,波士顿动力 Atlas 机器人又会过独木桥了!|湾区人工智能...
- 类的使用经典案例使用类的成员函数显示时间、找出元素的最大值【C++面向对象编程】
- Second season seventeenth episode,Chandler gets a new roommate
- react的生命周期函数(超详细)
- 为 iPhone 制作 30s 以上的铃声
- opencv实现人脸识别和眼部识别
- Android下的配置管理之道之对 OTA 更新包进行签名
- [原创]中国大陆民谣盘点系列(1) 沈庆《这么多年以来》
- Unity3d--基于对象池优化思想的音频管理系统
- OpenStack组件——Keyston身份认证服务
- 顺序队列模板简单应用算法设计:农夫过河(这个比较难,我自己都觉得难)
- 应用、permission、资源
- 电脑维修指导手册(联想)
- 【goldengate】官方文档笔记三 Oracle GoldenGate 实时报表
- 微信登录实现-Android