草庐IT

presenter

全部标签

Android MVP - 展示哪个模型以供查看

我正在使用MVP设计模式。我呈现给我的View的模型目前是POJOS,它们是我本地Realm数据库的模型。也就是说,他们已经注释了与数据库相关的成员。使用演示者将从交互器返回的数据库模型映射到仅包含View应使用的数据的模型(我的View有一个单独的模型POJO)会更好吗?还是将View交给我的数据库模型是一种很好的做法?谢谢。 最佳答案 你要问的问题是IfIremovedRealmfrommyappwouldIhavetomakechangestomyviewifIusetheseentityclasses如果答案是否定的,那么我

android - 更新到 Android Studio 3.1 后项目不构建 : Program type already present: com. sun.activation.registries.LineTokenizer

我刚刚将我的AndroidStudio更新到版本3.1,我对一条未知的错误消息感到惊讶:程序类型已经存在:com.sun.activation.registries.LineTokenizer>:testeapn:transformClassesWithDexBuilderForDebugAGPBI:>{"kind":"error","text":"Programtypealreadypresent:com.sun.activation.registries.LineTokenizer","sources":[{}],"tool":"D8"}>:testeapn:transformDe

android - mvp中的presenter和mvvm中的view-model有什么区别

我需要澄清一些关于mvp和mvvm设计模式的疑惑1)在更新View的mvp和mvvm中。演示者/View模型设置要在View中显示的数据或View从中检索数据演示者/View模型并显示它2)presenter和view-model之间有何不同。"MVVM使用数据绑定(bind)来更新View,而演示者使用更新View的传统方法”。是吗? 最佳答案 在MVP中,Presenter通常通过接口(interface)持有对View的引用。当Presenter计算新数据时,他负责在View/Interface上调用正确的方法来更新UI。在M

android - 如果我们可以返回一个值并在 View 中设置(MVP 结构),为什么要在 Presenter 中创建一个界面

已经两个月了,我一直在使用MVPStructure来创建Android应用。正如我发现的关于MVP的每个链接中所解释的那样,Presenter类负责处理所有业务登录和数据(来自Model类),我理解并开始工作。教程中显示的优点之一,我想在这里强调,MVP使单元测试更容易,因为没有View的依赖性(好吧,我也明白这一点)。我不明白的是为什么要创建接口(interface)来更新演示者的View,而我只能调用一个将返回值的演示者方法,然后我可以在那里设置它?让我们来看看我上面谈到的优势(单元测试)。使用这些接口(interface)单元测试会出现更多问题,因为方法需要接口(interfac

android - Dagger2 范围和 Activity 生命周期

我有一个AndroidActivity,我正在使用Dagger2将Presenter注入(inject)其中。我希望我的Presenter能够保持状态,即使发生配置更改也是如此。例如,我将使用Presenter启动网络调用,如果用户在网络调用进行中旋转设备,我希望能够在设备完成后收到响应它的轮换而不必重新启动调用。我被绊倒了,因为如果我将Presenter实例的范围限定为Activity的生命周期,那么当Activity在配置更改期间通过onDestroy()时,Presenter是否有可能被垃圾回收?我的另一个想法是使用在应用程序生命周期内有效的范围。但是,如果我这样做,我如何确保一

android - 在 MVP 模式中,适配器应该持有模型还是展示者持有模型并让适配器引用它?

目前我拥有它,因此适配器可以引用其中的所有模型。但是让演示者只持有模型并且适配器可以简单地引用它们是否更好?例如:publicclassAdapterextendsRecyclerView.Adapter{privatePresenterpresenter;publicAdapter(Presenterpresenter){this.presenter=presenter;}@OverridepublicvoidonBindViewHolder(RecyclerView.ViewHolderholder,intposition){Modelm=presenter.getModels()

android - 如何修复 "Program type already present: androidx.concurrent.futures.DirectExecutor"

迁移到AndroidX后,由于迁移,我遇到了以下问题:失败:构建失败,出现异常。出了什么问题:任务“:app:transformDexArchiveWithExternalLibsDexMergerForDebug”执行失败。com.android.builder.dexing.DexArchiveMergerException:Errorwhilemergingdexarchives:/home/lexy/AndroidStudioProjects/Testbucks/app/build/intermediates/transforms/dexBuilder/debug/0.jar,

android - 在 Presenter 类中访问 Actvity 的上下文是一种好习惯吗?如果没有,那么还有其他更好的方法吗?

我是AndroidMVP架构的新手。据我研究,Presenter应该不受任何android事物的影响,例如:不要在主持人。我编写了以下代码,其中BasePresenter是我将使用的所有Presenter类的父类。BaseView接口(interface)是所有View类和BaseActivity类的父接口(interface)是所有Activity类的父类。我有多个Activity,并且需要在我的所有Activity中显示Toast消息。所以我写了下面的代码如下。我不太确定使用Presenter类中的getactivity是否是一个好习惯。如果不是,那么有人可以建议更好的方法吗?Ba

android - 为什么android.arch.navigation 会导致Program type already present : android. support.v4.os.ResultReceiver$1?

我使用的是AndroidStudio版本AndroidStudio3.2Canary14Build#AI-181.4668.68.32.4763614,builtonMay4,2018JRE:1.8.0_152-release-1136-b02x86_64JVM:OpenJDK64-BitServerVMbyJetBrainss.r.oMacOSX10.11.6在调查新的架构导航组件android.arch.navigation时,我遇到了这个构建失败。AGPBI:{"kind":"error","text":"Programtypealreadypresent:android.sup

【异常】org.apache.logging.log4j.LoggingException: log4j-slf4j-impl cannot be present with log4j-to-slf4

【异常】org.apache.logging.log4j.LoggingException:log4j-slf4j-implcannotbepresentwithlog4j-to-slf4j这个错误表明在你的项目中同时引入了log4j-slf4j-impl和log4j-to-slf4j两个依赖,而这两者是互斥的,不能同时存在。解决这个问题有两种方式:移除冲突的依赖:在你的项目的构建文件(如pom.xml)中,找到引入的依赖列表,检查是否同时引入了log4j-slf4j-impl和log4j-to-slf4j。如果是的话,你可以选择保留其中一个,并移除另一个。排除冲突依赖:如果你的项目中使用了其