关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭6年前。Improvethisquestion老实说,我无法理解所有这些MVP和与Android相关的类似内容:它的真正意义是什么?到目前为止,我认为在Android中使用MVP的唯一实际原因是从框架类(即Activities、Services、Fragments...)中“提取”可单元测试的代码fragment,否则很难(或不可能))进行测试。这很好,但这样一来,Activity(和其他框架类)最终会在可能的情况下(即在处理与框架无
谁能告诉我应该根据MVP架构将AlertDialogs放在应用程序的什么位置?我应该将它们留在我的Activity中还是放在Presenter中? 最佳答案 由于MVP不是一个特定的平台原则,它可以用来编写与平台无关的应用程序。由于M和P很容易用纯Java编写(对于M并不总是如此,但对于P几乎总是如此),V实际上是目标平台的一个组件(例如,Swing、GWT、JavaFX、Android,甚至CLI[命令行界面])。假设您编写了这样一个跨平台应用程序并且您有一个特定的ViewINotificationView声明如下:publici
我用MVP方法做了一些Android应用,但我不太确定将同一特征的不同层对象放在同一个包中是否更好?还是将不同功能的所有层项目打包在同一个包中,并在上面加上层名称?(我的意思是这样的)目前,我遵循第二条规则,但这是最佳实践吗?编辑:这是我项目的全部包!:) 最佳答案 只是把我的想法融入其中。我已经使用这些方法中的每一种来处理项目。我现在的偏好是按功能打包。我更喜欢这种方法有两个主要原因:易于归纳对于刚接触代码库的开发人员,提高了项目结构的可见性。当与单个功能相关的类组合在一起时,新团队成员可以更轻松地快速了解所有内容是如何组合在一起
我有一个托管多个fragment的Activity,这些fragment定义了用户注册流程中的每个步骤。流程很复杂,下一步由前面步骤中的用户操作定义。流程如下:MainActivity|Fragment1-->Fragment2-->Fragment3-->Fragment4\-->Fragment5-->Fragment6在MVP之后,我为每个涉及的fragment设置了View和Presenter。我关心的是如何以MVP方式在Fragment和Activity之间进行通信。每个Fragment的结果都需要提供给Activity,以决定接下来需要显示哪个Fragment。我想到的一种
我计划在我的新Android项目中使用MVP模式。我已经完成了一些示例代码,我想知道,我是否正确地实现了它?请对代码提出意见并发表您的建议。我的Activity类我正在从我的BaseView类中扩展它,并且我正在实现一个接口(interface)。此Activity只是在新线程中调用网络服务并更新TextView中的值。publicclassCougarTestViewextendsBaseViewimplementsICougarView,OnClickListener{CougarTestPresenter_presenter;publicStringactivityName="C
我发现自己需要在用户单击View上的按钮时播放声音文件。MediaPlayer需要创建上下文。放置MediaPlayer初始化代码的最佳方式是什么?我应该将上下文传递给演示者方法并在那里播放吗?或者只在View上播放是否可以。 最佳答案 Context是MVP中AndroidView层的一部分,所以Presenter一定不知道它,你不应该传递它致主持人。你必须向你的View接口(interface)添加一个方法并在你的androidView组件(即Activity或Fragment)中实现它并使用他们在播放声音时在View层中执行操
您如何对待MVP模式中的适配器?例如,在这个项目中https://github.com/msahakyan/nested-recycler-view有一个MovieAdapter,https://github.com/msahakyan/nested-recycler-view/blob/master/app/src/main/java/com/android/msahakyan/nestedrecycler/adapter/MovieAdapter.java这个人在这个适配器中有一个recyclierview作为项目,(如果你看他的项目,他在他的主屏幕中嵌套了recycliervie
我有一个使用MVP架构的AndroidStudio项目。这种风格的项目的建议包结构是什么我们可以做到:app:screen_nameactivityApresenterAinterfaceAor:activitiesactivityAactivityBpreentorspresentorApresentorBetc 最佳答案 您的问题只是UIMVP架构模式的一部分。这是View类及其相应的Presenters。更好的解决方案是第一种方法。应用程序应该根据特性来打包,而不是根据常用功能来打包。我们应该将一起更改/修改的类组合在一起。一
我想用MVP模式实现我的下一个应用程序,所以我开始阅读一些关于如何实现它的文章。对我来说,主要问题是这种模式有不同的方法。有人说我们应该将Activity视为一个View,而另一些人则认为Activity应该是一个Presenter。此处描述了作为View的Activity:MVPAndroid这是有道理的。但另一方面,我通过一些投票找到了这个答案https://stackoverflow.com/a/7609943还有人说activity应该是presenter。有人对这种模式有经验吗? 最佳答案 经过片刻的思考,我认为Activ
我试图了解编写“干净”Android应用程序的最佳方法是什么。我发现了一个有趣的article关于他们使用一种3层架构的地方。现在我读到android使用MVP设计模式并尝试理解这一点。我理解MVP原则(在android上下文中)的方式是:模型层是逻辑类演示者是“链接”到XML(Activity)的类被动View是XML。这是正确的吗?如果这是正确的,那么3层模型是否也正确完全符合MVP原则,因为:三层架构中的表现层适合MVP的表现层3层架构中的业务和数据层非常适合MVP的模型部分?我希望我的问题很清楚,因为这对我来说是一个复杂的话题。也许这会澄清我对此的看法(思维方式)......。