草庐IT

android - 使用适用于 Android MVP 的 Dagger 2 设置模块和组件 - 具有多个 fragment 的 Activity

我使用Dagger2已经有一段时间了,但我仍在尝试解决一些问题。有一件事我还是不太擅长正在为不同的情况设置模块和组件,例如具有多个fragment的Activity。我见过很多实现,但大多数时候都有些不同。那么,让我公开一下我当前使用MVP的应用程序结构,如果我的实现是否可行,我想听听一些意见。@ModulepublicfinalclassApplicationModule{privateContextmContext;publicApplicationModule(Contextcontext){mContext=context;}publicApplicationModule(){

Android MVP 持久性

我正在尝试按照android蓝图指南将MVP模式实现到我的项目中。目前,我将用户(实体数据)保存在我的Presenter中,我真的不喜欢这样做,因为在每次配置更改时,presenter都会从数据库中获取用户。我的第一个问题是:我应该将我的数据保存在存储库中(因为我使用的是dagger2并且存储库位于应用程序范围内)还是应该将其保存在演示者中并以某种方式将其保存在那里。我个人希望将它保留在演示器中,但是,我正在尝试以传统方式学习。我也知道android架构组件,尤其是ViewModel,但是,我想保留MVP模式而不是MVVM。我的第二个问题是:实现持久化后,我应该如何将LiveData与

Android Model-View-Presenter(MVP) 如何返回长时间运行的 AsyncTask

我是Android的新手,我正在编写一个应用程序。我已经到了开始更彻底地测试我的代码的地步,因此,我想实现MVP设计策略,因为它为代码添加了更多可测试层。我似乎无法理解使用MVP的假定好处之一是它如何在动态执行时帮助运行AsyncTasks。由于您想避免在Presenter类中使用任何Android特定组件,您应该如何引用使用AsyncTasks的Activity?关于MVP的教程显示了Presenter对象具有将Activity作为参数并返回给它的方法;但是,如果您的AsyncTask需要很长时间并且您的Activity已因旋转更改等原因而被破坏,您如何返回到正确的Activity?

Android - MVP 上下文

我要创建一个带有MVP实现的简单应用,并尝试在演示者中发出权限请求。要发出权限请求,我需要像这样传递上下文。//Locationpermissionhasnotbeengrantedyet,requestit.ActivityCompat.requestPermissions(fragmentActivity,newString[]{permission},requestId);我读过几篇文章,他们提到在演示者中使用Context不是一个好的练习。所以,我只是想知道人们如何使用MVP处理权限请求。而且我真的不知道为什么在演示者中使用Context不是一个好习惯。请帮助我理解我应该如何处

android - MVP 演示器中的上下文相关问题

我是AndroidMVP模式的新手,正在处理我的项目时,我遇到了一些与Presenter中的AndroidContext相关的基本问题。虽然有很多与此相关的答案,但我没有找到可以解决我的问题的完美答案。我有以下疑问:如何访问Presenter中的共享首选项。如何访问presenter中的其他系统服务。如果我在SQLite数据库上工作,那么在我的数据库中的任何事务期间(通过从演示者调用我的SQLiteHelper类来完成)需要上下文来访问数据库。如果我将在演示者中传递我的Activity上下文,那么它会在单元测试期间出现问题,而且根据MVP格式,这也是一种违规行为。我需要一个完美的解决方

android - MVP Presenter 未正确注入(inject)

我正在通过尝试转换一些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

java - Android 中的 MVP 设计模式问题

我当时在做MVP的研发,我想在我的下一个项目中使用这种设计模式。但是我遇到了这种设计模式的问题。请看下面的java代码。我有一个BaseActivity类publicclassBaseActivityextendsAppCompatActivity{}一个接口(interface)BaseViewpublicinterfaceBaseView{voidshowLoader();voidhideLoader();}多了一个接口(interface),它扩展了BaseView接口(interface)以维护View之间的关系//Gamestartfromherepublicinterfac

android - 为 Android 应用定义 MVP 模式的问题

过去几个月我一直在Android上开发,我学到了一些东西,但我认为是时候开始做正确的事了,所以我正在尝试实现MVP/MVC模式,它们是在这种情况下,最适合处理UI的模式。我已经阅读了很多线程和示例,但我仍然有一些疑问,很可能是因为我缺乏使用android的经验。一些作者将Activity定义为演示者/Controller,将其他一些定义为View,我认为Activity应该作为演示者而不是View来工作,因为它具有保持状态和向用户呈现布局的自然能力,也许我'我错了,我希望有人能澄清这一点。如果我是正确的,那么View应该是使用布局和绑定(bind)事件与演示者(Activity)通信的

android - MVP:如何从 Presenter 写入日志

我使用Mosby使用MVP模式构建应用程序。这是规则之一:Don'tuseandroidlibrarycodeinPresenter.但是如果我想从Presenter记录一些东西怎么办?我看到的唯一方法是使用System.out.println();但这听起来不太好。有什么想法吗? 最佳答案 不在Presenter中使用Android库代码的原因是,当您开始编写单元测试时,您的类中的Android代码没有依赖性,因此它可以直接在JVM上运行。如果您发现自己需要使用Android代码,那么我这样做的方法是将其隐藏在界面后面。这样,您就

android - 在带有 RxJava : How can you keep the presenter free of any android knowledge while still observing on the UI thread? 的 Android 上使用整洁的 MVP

为了使用mvp模式在android上实现“整洁”的架构,建议将android框架视为插件,并且不要将任何android感知依赖项泄漏到演示层中。使用rxjava,如果我有一个设计用于将数据“推送”到View层的演示器,我可能希望有这样的逻辑:publicinterfaceSearchPresenter{interfaceViewLayer{voidupdateResults(ListsearchResults)}voidbind(ViewLayerviewLayer);voidunbind();}publicclassSearchPresenterImplimplementsSearc