我在我的新应用程序中实现MVP,然后我遇到了一个问题。我需要在View(Activity)本身内部调用View的方法。根据MVP代码分离的定义,这是错误的做法。根据定义:Presenter负责模型和View之间的编排。它基本上从两者接收事件并据此采取行动。Presenter是唯一知道其他组件的组件。它有一个对View的引用和另一个对模型的引用。(source)在同一篇文章中提到View不会对用户交互使用react,它将控制权交给Presenter来完成这项工作。我也读过thisSOFpost关于依赖规则。就我而言,我使用的是自定义AppTheme。AppTheme需要在setConte
我正在尝试在我的应用中实现MVP架构。但是,在阅读了一些博客并查看了一些示例项目示例之后,我不确定我是否完全理解分离View的正确位置在哪里,以及View第二次附加后应该做什么在异步操作之后。我看到的大多数例子,只是在异步调用后用View的空验证检查来总结。我将尝试通过一个示例来阐明我的观点——通过电话号码登录/注册(重要的是主要思想,而不是示例本身)有一个显示fragment的Activity-LoginFragment。用户输入他的电话号码并尝试登录。如果用户退出-他应该被导航到另一个Activity(在输入短信收到的代码后..)如果用户没有退出,他应该被导航到注册过程-Regis
我有一个演示者P。它旨在控制某种类型的ViewV的一切。我有多个这样的View:V1、V2、...Vn。与一个ViewVx交互,可以对其他ViewVy产生影响。什么是最好的协调方式?主持人应该互相交谈吗?演示者是否应该引用所有View? 最佳答案 一个View应该对其他View一无所知。View应该只与其Presenter通信。一个Presenter也不应该知道其他Presenter。为避免演示者凝聚使用事件(EventBus、Otto、RxJavaSubjects...)。 关于And
我有几个Activity,虽然每个Activity都很独特,但必须有一些常见的api调用,如getCurrentUser()或updateUser()鉴于MVP模式(我目前正在使用MVPmosby),因为这些Activity中的每一个都只有一个演示者。在我开发的过程中,似乎有时我会在这些演示器上复制粘贴大量这些常见的api调用。假设我有apiCallA、B、C、D。A、C用于presenter1,B、D、A用于presenter2,C、E用于presenter3.....等等。真的很难找到一个“普通”的演示者来继承。所以api调用,C和A基本上是复制粘贴。我的问题是,鉴于目前的情况,避
这里的一个人告诉我MVVM比MVP要好,他告诉我很多优点和缺点,但我想知道我的MVP是否做得很好,或者您是否知道任何其他可能转换为MVVM的方法。这是使用GoogleMVP登录。我不会放所有代码,但会放文件夹和一些解释:-型号用户(简单用户pojo类)-演示者我有一个IGoogleLoginView对象,我在其中调用方法,但这里我有逻辑createGoogleClient()、signIn()、onActivityResult()、onStop()、onStart()、onDestroy()所有这些方法都来self的接口(interface)在同一个包内IGoogleSignInIGo
在开发和Android应用程序的上下文中,我应该直接在使用“new”的View中使用Presenter,还是将它们注入(inject)到View中会更好。不使用注入(inject)演示者的优点/缺点:开发速度更快,无需编写组件和模块。演示者与View紧密耦合,我认为这不是什么大问题,因为大多数时候演示者不会跨多个View共享(即演示者的一个View)。可能是测试的问题,因为可以提供演示者的依赖注入(inject)模拟实现(不确定这是否有用,需要对此有更多了解)。 最佳答案 你是对的。从长远来看,使用注入(inject)只会对您有所帮
我正在开发一个由3个主要部分组成的Android测试项目,每个部分都按照MVP模式开发。这些部分相互嵌套,我想知道我遵循的策略是否正确/最好结构:Book:包含不同页面的ViewPager页面:包含多个项目的自定义LinearLayout项目:自定义View(在这个例子中是一个简单的按钮)每个部分都使用一个MVP结构(例如,对于Book,我制作了BookPresenter、BookView和BookModel,对于Page和Item也是如此)作为一个用户案例,我想跟踪用户点击按钮的次数,每次将页面背景更改为随机颜色,以及用户点击第10次的时间告诉BookPresenter转到第二页。为
我刚刚开始使用MVP的新项目。似乎非常缺乏关于这种方法的结构化信息,尤其是如何将其应用于抽屉导航的示例或详细信息。是否有任何人知道的首选方法或任何示例? 最佳答案 使用这样的东西example 关于AndroidMVP和抽屉导航,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/34853064/
我需要编写一个android应用程序,它从网络和数据库中获取日期并加载到一个Activity上。我打算使用mvp设计模式。湖。该Activity将在屏幕上加载控件。2.在点击按钮时,Activity将调用Presenter方法来获取mo来自网络的数据。Q1:我的疑惑是谁来调用DB类的Select方法或者HTTGet方法。演示器上的模型?Q2:asynctask将执行HTTPget。这存在于帮助类中。但是谁调用了asynctask.execute。主持人还是模特?http响应是一个xml。这在asynctask的doInbackground()方法中可用。Asynctask将调用另一个助
因此,我会尽量让这个问题切题,但它会涉及遍历整个代码路径的代码fragment。就上下文而言,我是相当新的Android开发人员并且完全是自学成才的,所以请在整个过程中通知我任何明显的误解/糟糕的组织。问题的主要焦点是我现在遇到的错误,即在网络请求之后,应该作为该网络请求的结果设置的变量为空,因为代码在网络请求完成之前向前移动.这是我的Activity方法。它应该用mUserPresenter.getUserList()的结果填充mFriends变量,这是(不幸的)null:/***Grabsalistoffriends,populateslistwithUserAdapter*/@O