首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在Android MVP中,presenter应该返回值吗?

在Android MVP中,presenter通常不应该返回值。MVP(Model-View-Presenter)是一种软件架构模式,用于将应用程序的逻辑与用户界面分离。在MVP中,presenter负责处理用户界面的交互逻辑,并将用户的操作传递给model进行处理。

通常情况下,presenter不应该直接返回值给view。相反,presenter应该通过回调或接口将处理结果传递给view,然后由view来更新界面显示。这样做的好处是保持了MVP的分层结构,使得presenter与具体的视图实现解耦,提高了代码的可测试性和可维护性。

在某些情况下,presenter可能需要返回一些状态或标识给view,以便view可以根据这些信息来更新界面。但是,这些返回值通常是简单的标识,而不是复杂的数据结构。如果需要返回复杂的数据结构,建议使用回调或接口来传递数据。

总结起来,presenter在Android MVP中通常不应该返回值,而是通过回调或接口将处理结果传递给view。这样可以保持MVP的分层结构,提高代码的可测试性和可维护性。

腾讯云相关产品和产品介绍链接地址:

  • 腾讯云移动开发平台:https://cloud.tencent.com/product/mmp
  • 腾讯云云服务器(CVM):https://cloud.tencent.com/product/cvm
  • 腾讯云云原生应用引擎(TKE):https://cloud.tencent.com/product/tke
  • 腾讯云数据库(TencentDB):https://cloud.tencent.com/product/cdb
  • 腾讯云人工智能(AI):https://cloud.tencent.com/product/ai
  • 腾讯云物联网(IoT):https://cloud.tencent.com/product/iot
  • 腾讯云存储(COS):https://cloud.tencent.com/product/cos
  • 腾讯云区块链(BCS):https://cloud.tencent.com/product/bcs
  • 腾讯云元宇宙(Metaverse):https://cloud.tencent.com/product/metaverse
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Android开发模式之MVC,MVP和MVVM的简单介绍与区别

文章重点: (1)了解并区分MVC,MVP,MVVM。 (2)知道这三种模式Android如何使用。 (3)走出data binding的误区。...水之积也不厚,则其负大舟也无力 正如庄子逍遥游说的,如果水不够深,那就没有能够担负大船的力量 。所以真正开始涉及具体的代码之前,我们要先对MVC,MVP和MVVM做一个初步的了解。...还记得我之前说的MVP模式,view层和presenter层靠的就是接口进行连接,而具体的就是上面的这个了,里面定义的三个方法,第一个是开始获取数据,第二个是获取数据成功,第三个是改名。...应该是view层的,但是里面却和MVC一样写了对model的处理。...当然这也不是固定的,你大可以viewmodel实现相应的接口,presenter层的数据直接发送到viewmodelviewmodel里更新,因为view和viewmodel是绑定的,这样view

2.6K82

应该使用 PyCharm Python 编程

此外,它可以多种平台上使用,包括Windows,Linux和macOS。...远程开发 - PyCharm 允许您开发和调试远程计算机、虚拟机和容器上运行的代码。...调试 - PyCharm 包含一个内置调试器,允许您单步执行代码、设置断点和检查变量,从而更轻松地查找和修复代码的错误。...版本控制集成 - PyCharm支持广泛的版本控制系统,如Git,Mercurial和SVN,使得使用存储版本控制存储库的代码变得容易。...但是,您是否应该使用它取决于您的特定需求和偏好。如果您不熟悉编程或更喜欢简单的文本编辑器,则可能需要从更基本的工具开始。但是,如果您正在处理大型项目或需要高级功能,PyCharm可能是您的最佳选择。

4.5K30

浅谈Andorid开发MVP模式

之所以会出现MVP这种架构模式,是因为我相信大家开发App时,肯定会发现,Activity的负担非常重,既要初始化控件,又要写一些逻辑操作的展示等等,有时候很多Activity的代码都充当了Controller...作为一种新的模式,MVP与MVC有着一个重大的区别:MVPView并不直接使用Model,它们之间的通信是通过Presenter (MVC的Controller)来进行的,所有的交互都发生在Presenter...进一步的解释: MVP里,Presenter完全把Model和View进行了分离,主要的程序逻辑Presenter里实现。...MVP里,应用程序的逻辑主要在Presenter来实现,其中的View是很薄的一层。...MVP模式里,View只应该有简单的Set/Get的方法,用户输入和设置界面显示的内容,除此就不应该有更多的内容,绝不容许直接访问Model--这就是与MVC很大的不同之处。

52210

【译】Android开发MVP架构

然而,Android开发,如果你不考虑架构的话,Activity类往往会越来越大。这是因为,Android,允许View和其它线程共存于Activity内。...什么是MVPMVP代表Model,View和Presenter。 View层负责处理用户事件和视图部分的展示。Android,它可能是Activity或者Fragment类。...类 MVP,View和Presenter是一 一对应的(MVVM是一对多的) public class TopActivity extends Activity implements TopView...译文)- Fernando Cejas 我认为这是探索如何将MVP架构到Android开发专题中最著名,也是最受欢迎的博客。我也是从他那篇简单易读,书写良好的博客偶然发现“MVP”这个名词的。...M — Model in MVC, MVP, MVVC in Android(译者注:MVC,MVP,MVVC架构Model层Android的定义) - Artem Zinnatullin 如果你不还了解

50620

Android架构(一)MVP全解析

android的MVC缺点 Android开发,Activity并不是一个标准的MVC模式的Controller,它的首要职责是加载应用的布局和初始化用户界面,并接受并处理来自用户的操作请求,进而作出响应...Presenter需要通过Model层来存储、获取数据。 View 负责处理用户事件和视图部分的展示。Android,它可能是Activity、Fragment类或者是某个View控件。 ?...MVP里,Presenter完全把Model和View进行了分离,主要的程序逻辑Presenter里实现。...通过OkHttpFinal来获取数据,同时回调函数调用自己定义的回调函数。 实现Presenter 首先定义ArticlePresenter接口: ?...这回我们应该明白了,Presenter就是一个中间人的角色,他通过Model来获得并保存数据,然后通过View来更新界面。这期间通过定义接口使得View和Model没有任何交互。

912100

安卓MVP框架的简介与搭建

二、MVP与MVC的比较(以Android开发为例) MVP模式是MVC模式Android上的一种变体,要介绍MVP就得先介绍MVC。MVC模式,Activity应该是属于View这一层。...等 Presenter 负责完成view与model的交互,处理程序逻辑 MVP模式是MVC模式Android上的一种变体,要介绍MVP就得先介绍MVC。...MVP作为一个新的模式,与MVC有一个重大的区别:MVPView并不直接使用Model,它们之间的通信是通过Presenter来进行的,所有的交互都发生在Presenter内部;而在MVCView...MVP解决了MVC问题: MVPPresenter完全把View与Model进行分离,主要的程序逻辑Presenter实现。...MVP的View层是很薄的一层,View只应该有简单的set/get方法、用户输入和界面显示的内容,除此之外不应该有更多的内容,绝不允许直接访问Model——这就是MVP与MVC的很大不同之处。

1.6K10

老总让做后台接口监控,我却开发了一个App

3、移动端只能做UI自动化测试? 移动终端(包括Android和iOS)性能越来越强,扩展性也越来越强,可以说PC能做到的事,理论上移动终端上都能做到 。...最终选择的方案 Copy开发的代码做一个Android移动端运行的后台接口监控App,具体实现流程如下: Android设备层 如何选取要Copy的代码 基本上Android开发用的都是MVP架构,...它区别于MVC架构的Model,在这里不仅仅只是数据模型。MVP架构Model它负责对数据的存取操作,例如对数据库的读写,网络的数据的请求等。这一层的代码全部Copy。 View: 即视图层。...MVP架构Model与View无法直接进行交互。所以Presenter层它会从Model层获得所需要的数据,进行一些适当的处理后交由View层进行显示。...返回值的Poplog、f,代表着打开的进程和文件,分别用来终止进程和关闭文件,调用terminate()以及close()方法即可。

4K20

MVP:Android guidelines

另外你需要面对常见的Android问题如Activity生命周期,然后你还应该问问自己下面这些问题: 我应该保存presenter的状态? 我应该presenter做持久化处理?...在这种情况下,你应该问一下自己为什么需要context呢。我猜你可能想要存储数据或者获取资源。但是你不需要在presenter做这些:你可以view获取资源,model存储数据。...你不能将数据序列化到Bundle,因为这样的话presenter就与Android类耦合了。 我说presenter应该是无状态的,但其实也不然。...我之前描述的例子presenter应该至少具有页码/偏移量之类的状态。 8....结论 以上是我对应用于AndroidMVP架构的看法,希望通过不断的尝试可以找到最佳实践。 最后,分享一下 D.T. 总统的新指令:

34930

【Dev Club分享】基于RxJava的一种MVP实现

所以presenter层,我们需要进行一项线程切换的工作,这样才能保证“所有的IO操作都应当在线程完成,主线程只负责页面渲染的工作”这一优化准则。...Android中使用RxJava需要加入下面两个依赖。...这几个问题其实比较类似,我们实际项目中,presenter会随着activity的生命周期进行销毁,比如在onDestroy方法presenter进行置空和引用解绑, 当然我们可以给所有的Presenter...,实际用的过程中有遇到什么问题 是的,我们已经使用了这个架构。...P层抛出一个model的get方法? 自定义的View跟Activity一样,我们统称为View层。上面的例子View层只有一个接口MainView,实际项目中,View层可能会实现好几个接口。

94270

Android之App整体架构介绍

基于MVP的架构设计思路 mvp的全称为Model-View-Presenter,Model提供数据,View负责显示,Controller/Presenter负责逻辑的处理。...MVP与MVC之间最主要的区别在控制层上,MVP框架,View与Model并不直接交互,所有的交互放在Presenter;而在MVC里,View与Model会直接产生一定的交互。...因此App引入MVP的原因,是为了将此前Activty包含的大量逻辑操作放到控制层,避免Activity的臃肿。...举个简单的例子,UI层通知逻辑层(Presenter)用户点击了一个Button,逻辑层(Presenter)自己决定应该用什么行为进行响应,该找哪个模型(Model)去做这件事,最后逻辑层(Presenter...同时封装了android的http框架,使其更加简单易用; 使用finalBitmap,无需考虑bitmapandroid中加载的时候oom的问题和快速滑动的时候图片加载位置错位等问题。

1.2K10

大话MVP

文章作者提出的观点和我《谈谈关于MVP模式V-P交互问题》的观点是一致的,即Presenter对于View应该是相对透明的,View不能直接对Presenter进行操作,目的是实现Presenter...《谈谈关于MVP模式V-P交互问题》MVP的实现手段,我采用的是Presenter注册View的事件。...”的形式,比如_presenter.OnViewReady(); 6、View不允许通过Presenter直接调用Model和Service,并且Presenter的方法应该是不具有返回值的;...再次回到《谈谈关于MVP模式V-P交互问题》讨论的话题,在我看来,抛开1和2对View的Presenter命名的规范外,其余的12条规则体现了MVP关于View和Presenter之间应该具有的关系...正因为如此,上面的MVP规则列表才规定Presenter的方法不需要返回值,View的接口不需要定义属性。

67080

Android如何从实现到封装一个MVP详解

前言 MVP 是从经典的模式MVC演变而来,它们的基本思想有相通的地方:Controller/Presenter负责逻辑的处理,Model提供数据,View负 责显示。...下面这篇文章主要给大家介绍了关于Android从实现到封装MVP的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。...ILoginView LoginPresenter需要和LoginAct互动的方法,比如说presenter需要获得通过act登录框的姓名,而act需要presenter处理登录数据后的返回值code...,他要做的只是提供姓名和密码给presenter,通过present去登录,并且接收presenter处理后的返回值code。...对象,oncreate实例化presenter,并且实例化presenter的module和view public abstract class BaseAct<V extends BaseContract.IBaseView

32841

AndroidMVP模式讲解及实践

layout制定相应的布局文件,然后显示Activity上,用于显示天气信息。这对应于View层,这里的View并不是Android开发的组件view而是对视图的统称....而MVP就是要减轻Android的这种困惑。 MVP是基于MVC的,它的架构图如下: ?...不同的地方 MVPPresenter取代了MVC的Controller MVCModel、View、Controller之间相互发生通信,而MVPModel与Presenter相互通信,View...AndroidMVP的好处? 就Android层面上来讲MVC架构虽然好,但不是最好,情况前面有讲过。用一句话概括就是“模块界限很模糊”。...View的表现当然要用View.interface接口来定义 现在我们来分析一下,本例View应该有哪些表现。 1.显示天气信息 那好,接口方法可以这样定义。

2.7K30

Android设计模式之MVP

因为MVP模式可以说是MVC模式Android开发上演变过来的。 ?...对于原生的Android项目而言: M(Model): 不要简单地把Model理解成实体类(Entity),Model应该包含2部分功能,一部分是处理业务逻辑,例如一些Helper类;一部分是提供View...对于原生的Android项目而言: M(Model): 跟MVC模式是同样的作用 V(View): 指的是Activity或者Fragment,负责UI元素的初始化,建议UI元素与Presenter的关联...P(Presenter): 处理与用户交互的逻辑处理。Presenter从model层接受数据,经过处理之后返回给VIew层。...以antoniolg大神的androidmvp开源项目作为栗子讲解 项目目录中一共有十个类,我就以login包作为突破点阐述MVP实现思路。 ?

77510

Android应用架构前世今生

前言 Android的开发生态系统发展迅速,开发Android的几年的时间里,用来构建Android应用的架构与技术一直不断进化。随着项目的不断更新迭代,应用的架构也有不一样的变化。...数据库的操作、对网络等的操作都应该在Model里面处理,当然对业务计算等操作也是必须放在的该层的 所以一直以来我们使用Android默认的项目结构开发,主要都是采用mvc的架构思想。...mvp架构的演变,解决了Activity代码臃肿的问题,当我们将Activity复杂的逻辑处理移至另外的一个类(Presenter时,Activity其实就是MVP模式的View,它负责UI元素的初始化...MVP模式里通常包含3个要素(加上View interface是4个): View:负责绘制UI元素、与用户进行交互(Android中体现为Activity) Model:负责存储、检索、操纵数据...,并且通过Repository进行数据的集中管理,通过协议类XXXContract来对View和Presenter的接口进行内部继承,presenter的实现类,可以对Model数据进行操作。

59660

(新瓶旧酒)谷歌官方MVP项目学习--浅入源码

抓紧学习MVP 网上MVP的学习资料也是多如牛毛,来看看谷歌爸爸是怎么教我们MVP的吧 项目介绍 Google把这个项目命名为:Android架构蓝图。...这个项目也是金诚先生推荐的2017年Android百大框架排行榜的一个 android-architecture 一句话介绍:google提供的Android当下各种基本框架 上榜理由:看完它,mvp...MVP架构 ? MVP 是如何建立起关系来的? 首先,M 只 P 中使用,与 V 无关,因此 M 只要传入 P 即可。 P 与 V 之间的关系是这样的:V 和 P 互相保存对方的实例。...); } BaseView含方法setPresenter,该方法作用是presenter实例传入view,其调用时机是presenter实现类的构造函数。...Contract 契约类 不同于其他的MVP项目,官方的MVP架构中都定义有xxContract契约类,把P层和V层的接口统一写在契约类,能够更清晰的看到Presenter层和View层中有哪些功能

76510

Base封装(一)--我的最简MVP架构

对了 打一波广告 我的新的个人博客 http://hankkin.cn/ 好了接下来开始我们的MVP 背景 众所周知 MVP这种架构模式已经出现很久了,大体时间应该是2014年吧,现在网上的关于MVP...,今天我介绍的便是我自己通过项目总结出来的MVP 什么是MVP MVP知识点 MVP - Model-View-Presenter image.png MVP和MVC的区别仅仅在于P和Control...,MVCView和Model是互通的可以互相通信,AndroidView一般代表着我们的xml进行界面的描述,而对于模型Model部分则大多对应于本地的数据文件或网络获取的数据体,很多情况下我们对这些数据的处理也会在这一层中进行...而MVPview通过presenter访问model,大大的减小了耦合性,业务逻辑都交给P处理,通过P访问V层更改UI。MVP模式可以分离显示层与逻辑层,它们之间通过接口进行通信,降低耦合。...初始化P,并且连接V,onDestroy()生命周期中释放P引用的V。

57810

Android应用架构前世今生

前言 Android的开发生态系统发展迅速,开发Android的几年的时间里,用来构建Android应用的架构与技术一直不断进化。随着项目的不断更新迭代,应用的架构也有不一样的变化。...数据库的操作、对网络等的操作都应该在Model里面处理,当然对业务计算等操作也是必须放在的该层的 所以一直以来我们使用Android默认的项目结构开发,主要都是采用mvc的架构思想。...mvp架构的演变,解决了Activity代码臃肿的问题,当我们将Activity复杂的逻辑处理移至另外的一个类(Presenter时,Activity其实就是MVP模式的View,它负责UI元素的初始化...采用ViewModel解决MVPView(Activity)和Presenter相互持有对方应用的问题,界面由数据进行驱动,响应界面操作无需由View(Activity)传递,数据的变化也无需Presenter...使用RXJAVA对数据流进行处理,并且通过Repository进行数据的集中管理,通过协议类XXXContract来对View和Presenter的接口进行内部继承,presenter的实现类,可以对

88270
领券