关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭1年前。Improvethisquestion在MVP中使用回收View时,你们在哪里保留对列表的引用?我有一个ChatManager可以与不同的主持人交谈。我保留了两份消息列表,一份在ChatManager中。另一个在Presenter.适配器、View和演示者共享同一个列表。我引用Presenter中的消息列表的原因是因为我有一些要从演示者那里处理的删除和滚动业务逻辑。所以现在当我必须删除一条消息时,演示者会决定要删除的项目并将其
我正在使用MVP和RxJava开发Android应用程序。好吧,我有一个疑问:当我创建演示者和交互器时,我可以将调度程序放入演示者中,如下所示:Presenter中的调度程序主持人:overridefuntryLogin(username:String,password:String){mLoginInteractor.login(username,password).subscribeOn(Schedulers.newThread()).observeOn(AndroidSchedulers.mainThread()).subscribe(object:Subscriber(){[.
我使用Dagger2已经有一段时间了,但我仍在尝试解决一些问题。有一件事我还是不太擅长正在为不同的情况设置模块和组件,例如具有多个fragment的Activity。我见过很多实现,但大多数时候都有些不同。那么,让我公开一下我当前使用MVP的应用程序结构,如果我的实现是否可行,我想听听一些意见。@ModulepublicfinalclassApplicationModule{privateContextmContext;publicApplicationModule(Contextcontext){mContext=context;}publicApplicationModule(){
我正在尝试按照android蓝图指南将MVP模式实现到我的项目中。目前,我将用户(实体数据)保存在我的Presenter中,我真的不喜欢这样做,因为在每次配置更改时,presenter都会从数据库中获取用户。我的第一个问题是:我应该将我的数据保存在存储库中(因为我使用的是dagger2并且存储库位于应用程序范围内)还是应该将其保存在演示者中并以某种方式将其保存在那里。我个人希望将它保留在演示器中,但是,我正在尝试以传统方式学习。我也知道android架构组件,尤其是ViewModel,但是,我想保留MVP模式而不是MVVM。我的第二个问题是:实现持久化后,我应该如何将LiveData与
我是Android的新手,我正在编写一个应用程序。我已经到了开始更彻底地测试我的代码的地步,因此,我想实现MVP设计策略,因为它为代码添加了更多可测试层。我似乎无法理解使用MVP的假定好处之一是它如何在动态执行时帮助运行AsyncTasks。由于您想避免在Presenter类中使用任何Android特定组件,您应该如何引用使用AsyncTasks的Activity?关于MVP的教程显示了Presenter对象具有将Activity作为参数并返回给它的方法;但是,如果您的AsyncTask需要很长时间并且您的Activity已因旋转更改等原因而被破坏,您如何返回到正确的Activity?
我要创建一个带有MVP实现的简单应用,并尝试在演示者中发出权限请求。要发出权限请求,我需要像这样传递上下文。//Locationpermissionhasnotbeengrantedyet,requestit.ActivityCompat.requestPermissions(fragmentActivity,newString[]{permission},requestId);我读过几篇文章,他们提到在演示者中使用Context不是一个好的练习。所以,我只是想知道人们如何使用MVP处理权限请求。而且我真的不知道为什么在演示者中使用Context不是一个好习惯。请帮助我理解我应该如何处
我是AndroidMVP模式的新手,正在处理我的项目时,我遇到了一些与Presenter中的AndroidContext相关的基本问题。虽然有很多与此相关的答案,但我没有找到可以解决我的问题的完美答案。我有以下疑问:如何访问Presenter中的共享首选项。如何访问presenter中的其他系统服务。如果我在SQLite数据库上工作,那么在我的数据库中的任何事务期间(通过从演示者调用我的SQLiteHelper类来完成)需要上下文来访问数据库。如果我将在演示者中传递我的Activity上下文,那么它会在单元测试期间出现问题,而且根据MVP格式,这也是一种违规行为。我需要一个完美的解决方
我正在通过尝试转换一些MindorksadvancedMVPsample来同时学习Kotlin和Dagger2到Kotlin,但遇到Dagger2编译问题。我在这里上课游泳,但非常接近!不要介意这些不整洁,我打算在编译后梳理每个类。如果缺少什么,请告诉我。错误归结为我的演示者类没有被正确注入(inject)到Activity中。错误内容如下:e:D:\_Dev\repo\app\build\tmp\kapt3\stubs\debug\com\xxx\di\component\ActivityComponent.java:8:error:com.xxx.login.LoginMVP.Pr
我当时在做MVP的研发,我想在我的下一个项目中使用这种设计模式。但是我遇到了这种设计模式的问题。请看下面的java代码。我有一个BaseActivity类publicclassBaseActivityextendsAppCompatActivity{}一个接口(interface)BaseViewpublicinterfaceBaseView{voidshowLoader();voidhideLoader();}多了一个接口(interface),它扩展了BaseView接口(interface)以维护View之间的关系//Gamestartfromherepublicinterfac
过去几个月我一直在Android上开发,我学到了一些东西,但我认为是时候开始做正确的事了,所以我正在尝试实现MVP/MVC模式,它们是在这种情况下,最适合处理UI的模式。我已经阅读了很多线程和示例,但我仍然有一些疑问,很可能是因为我缺乏使用android的经验。一些作者将Activity定义为演示者/Controller,将其他一些定义为View,我认为Activity应该作为演示者而不是View来工作,因为它具有保持状态和向用户呈现布局的自然能力,也许我'我错了,我希望有人能澄清这一点。如果我是正确的,那么View应该是使用布局和绑定(bind)事件与演示者(Activity)通信的