所以我有一个已经绑定(bind)到Activity的演示者。这本书说一个演示者应该绑定(bind)一个View。但现在我添加了一些fragment和大量自定义View。我也在考虑将一个fragment作为一个View。自定义View将包含一些逻辑。当然,fragment和自定义View都包含在我的Activity中。我的问题是,我应该在fragment和自定义View中重复使用相同的演示者,还是每个View都应该有自己的演示者?我意识到这都是基于意见的,但我想要测试和保持代码清洁的最佳方法。如果我确实有一个演示者来处理所有这些,那么演示者使用的界面将包含许多回调方法。同时,如果我做相反
我正在学习MVP,我很困惑在哪里和如何我应该在不破坏mvp概念的情况下实现onClickListener。遵循本指南:https://android.jlelse.eu/recyclerview-in-mvp-passive-views-approach-8dd74633158我的实现。适配器:publicclassRepositoriesRecyclerAdapterextendsRecyclerView.Adapter{privatefinalRepositoriesListPresenterpresenter;publicRepositoriesRecyclerAdapter(R
我遵循的模型View展示器(MVP)模式类似于AntonioLeiva在此处找到的示例:antoniolg/github.我一直在研究它,我想知道如何从interactor层启动一个service。通常我一直将我的retrofit调用放在interactor中,但我想知道是否有办法从interactor启动服务,所以我可以改为在服务中运行我的retrofit调用。这里的问题是我没有运行服务的Activity上下文,如果我将上下文公开给interactor,这有点违背了MVP的目的。我也不太确定这是否是一件好事(从交互器启动服务)。我当时正在考虑从presenter层开始服务,但我正在走
我在我的应用程序中遵循MVP架构。我的HomeActivity包含一个带有列表图标的滑动面板,该列表图标具有选择器,在选择滑动面板项目时图标状态会更改,我没有使用任何列表选择器。IamkeepingamodelclassNavItemDataforpopulatingthenavigationdrawerandusingaclassSlidingPanelItemSelectorthatextendsStateListDrawablegeneratestheappropriateselectorfortheslidingpanelicon.在MVP架构中,我们有一个与模型通信并为Vie
AndroidStudio2.1.2我想测试是否确实调用了LoginModelImp中的回调onUsernameError、onPasswordError和onSuccess。我不确定如何测试事件监听器。但是,测试失败,因为这些函数从未被调用过。我正在用mockitomock他们并试图验证他们。到目前为止,这是我的代码。演示者界面publicinterfaceLoginPresenterContract{voidvalidateCredentials();voidattachView(LoginFragmentViewContractview);voiddetachView();}Pr
我在android中看到了各种关于MVP模式的精彩教程,但作者似乎在打包方面都有不同的做法。我看到的第一个教程是按功能打包的。例如,“登录”、“加入”、“UI”包。UI包只有Activity,“登录”包有演示者和具体演示者的接口(interface),这个包包含一个子包“模型”,其中包含有关登录模型(与服务器的通信)的所有内容。“加入”包与“登录”包具有相同的组成。但是我看到的另一个是按场景打包的,比如“加入”,“登录”。“Join”包包含一个Activity,以及名为“Model”、“View”、“Presenter”的三个子包。最佳做法是什么?有没有处理这个问题的文章?
我正在尝试通过引用此链接在我的android项目中实现MVP模式:https://github.com/jpotts18/android-mvp我已经成功地实现了view/presenter/interactor类。不清楚将服务调用代码放在哪里?Sinceicannotgetthecontextinsidethepresenterorinteractorclass,Iamnotabletoputtheservicecallthere在哪里实现GoogleApiClient类?SinceGoogleApiClientalsorequirescontexttorun,italsocanno
我一直在关注Google提供的MVP设计模式重构我的应用程序。我有一个MainActivity和许多fragment,为每个fragment创建一个Activity对我来说似乎并不麻烦,所以我一直在考虑在fragment中注册演示者。我看到的是每个fragment都注册了自己的演示者,但我不确定它错了多少......:)这是我的演示者:publicclassFirstPresenterimplementsFirstContract.Presenter{privatefinalFirstContract.ViewmView;publicFirstPresenter(FirstContra
在我的Android项目中,我使用realm作为我的数据存储引擎。我喜欢它!我也用RxJava因为它使“线程化”变得容易得多,而且我真的很喜欢整个“响应式(Reactive)思维方式”。我喜欢它!我使用MVP模式+一些“清洁架构”的想法来构建我的应用。我的Interactors是唯一了解Realm的人。我借助Observable公开数据,如下所示:@OverridepublicObservablegetHomeTown(){finalRealmrealm=Realm.getDefaultInstance();returnrealm.where(City.class).equalTo("
我对在Android上使用MVP保存状态有一些疑问。我将我的fragment/Activity定义为View,然后实现了相应的展示器。我的例子很简单:我有一个带有一些复选框和微调器的Activity。如果Activity被Android系统销毁然后重新创建,我应该在哪里保存这些微调器和复选框状态?在View上?在演示器上?如果在View上,我应该在View上还是在演示者上有恢复逻辑?谢谢! 最佳答案 在MVP的情况下,是负责保持View状态的模型。例如,在您的模型中,您有一个包含类别数组的Post实体。在您的View中,每个类别都有