问题标签 [android-mvp]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
403 浏览

android - 模型(android 中的 MVP)如何访问和修改常见的应用程序数据?

据我了解,在视图中需要创建一个演示者,而在演示者中需要创建模型。模型(android 中的 MVP)如何访问和修改常见的应用程序数据?

  • 使用静态方法和变量来处理共享数据?
  • 通过 View 和 Present in Model 传递对数据的引用?
  • 创建不在 Presenter 中的模型?
0 投票
2 回答
370 浏览

android - MVP架构——一些想法

我正在尝试在我的应用程序中实现 MVP 模式。

但是,有些任务我不确定如何以正确的方式进行。
大多数示例仅涵盖基本任务和简单任务,其中每个交互者只执行一项任务(例如获取用户列表) - 但是,如果任务更复杂,我们应该如何实现它

我们应该如何处理这些任务:

  1. 一个复杂的数据任务,例如涉及 3 个 api 调用 - 获取用户 + 获取用户喜欢 + 获取用户关注者。应该在单个交互器中完成,还是分成 3 个交互器?

  2. 在从演示者转移到其交互者之前,需要将数据存储在某处的任务。
    例如,一个复杂的注册过程 - 用户输入用户名和地址,然后按继续。之后有一系列 X 弹出窗口,用户在其中填写更多数据。最终 - 用户按下注册,演示者触发其交互者。
    现在,在进行注册调用之前的整个过程中,这些注册数据应该保存在哪里?在主持人?在演讲者的专属课堂上?在..交互者??

  3. 最后的想法 - 在我看到的所有示例中,交互者与其演示者具有 1 对 1 的关系。
    如果登录演示者使用登录交互器进行...登录ofc。如果我需要在其他屏幕上进行另一个登录调用会发生什么(我知道这并不常见,但只是为了理解主要思想) - 然后我们将有另一个交互器做与前一个相同的事情。那么交互者应该有一对多的关系吗?

我很高兴听到你的意见

谢谢!

0 投票
1 回答
11376 浏览

java - Mockito 错误:但是,与此模拟只有 1 次交互

您好,我尝试使用 mockito 来验证用户密码,如果无效我想验证它显示错误消息。

但我收到以下错误:

这是我的测试方法:

我已经使用有效输入模拟了电子邮件用户invalidPassword_notLoggedIn_showPasswordError(),但我仍然收到该错误消息。

这是我的 Presenter 实现:

我想念什么?

谢谢

0 投票
1 回答
316 浏览

android - 使用存储库模式捕获 MVP 中的响应返回

我遇到了问题:我一直在创建一个将返回响应的登录过程。如果登录为真,它将给出这样的响应。

然后当它为假时,它将返回这样的响应。

这是我的代码:

问题是,当我测试假用户名时,Toast 中显示的响应不是“登录错误”,而是“com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_ARRAY but was STRING at line 1 column 268 路径 $.menu"

我知道登录为假时菜单和权限为空。但是我如何才能捕捉到响应消息“登录错误”?,我需要更改代码的任何部分吗?

提前致谢

0 投票
2 回答
417 浏览

java - Android MVP:最佳实践

我正在开发一个示例 Android 应用程序,并且我正在尝试实现一个演示者类,因为我遵循 MVP 模式。我的演示者实现如下

我正在寻找实现演示者类的最佳实践,我相信转移AsyncTask到一个单独的类并以更通用的方式实现它会是一种更好的方法,但我找不到合适的解决方案。如果您能帮助我,我将不胜感激。

0 投票
2 回答
739 浏览

android - android中的ButterKnife问题

我正在butterknife使用retrofit. 当我通过网络调用连续加载片段时,我的片段在视图上以空指针崩溃。我已经onDestroyView()在片段中实现了 unbind ...?

使用findviewbyid. 我正在使用 MVP 。

0 投票
2 回答
1417 浏览

android - 防止 Dagger2 组件在屏幕旋转时重新创建

我是 Dagger2 依赖注入的新手。当屏幕旋转时,我很难保留相同的组件。

我尝试调试应用程序,我认为当加载新配置时,它会创建组件的新实例和演示者的新实例。屏幕旋转时如何保留相同的组件和演示者。非常感谢!

0 投票
2 回答
562 浏览

java - Dagger with Mvp on Kotlin - Android

我是一名刚进入 Kotlin 的 Android 开发人员,我一直在尝试在 Kotlin 中设置 Mvp Dagger 应用程序,但我无法弄清楚发生了什么。我继续收到此错误:

这是我的代码:

Kotlin应用:

应用组件:

应用模块:

注入模块:

主要活动:

MainMvp:

主讲人:

主绑定模块:

主模块:

最后,ActivityScope:

有谁知道可能出了什么问题?我之前在 java 中使用过相同的架构模式好几次,而且我以前从未遇到过这个错误。

此外,当我注释掉 InjectionModule 中的所有内容时,一切正常

0 投票
1 回答
698 浏览

android - Android MVP(存储库模式)获取相机/画廊图像?

我正在尝试使用mvp 的谷歌示例代码来实现 MVP 架构。我有一个作为 View 的活动,它有一个演示者和模型。单击按钮后,用户可以捕获图像并将其保存在外部存储中。在捕获点击时,我还需要播放声音。

我不确定应该将哪个代码放在哪个类中,因为我无法将相机捕获和播放声音代码放在 Activity(我将其视为视图)中以使视图尽可能地哑,并且我不能将该代码放在 Presenter 中,因为它使用Android 框架类(上下文等)。

因此,唯一的选择是将其放入模型中,但在示例代码中,模型只有存储库(我认为它仅与本地/远程数据源相关)。

如何将此代码放入模型中以及如何将其与 View 和 Presenter 等其他组件链接?有什么指导方针吗?

0 投票
0 回答
394 浏览

android - Moxy 将 UseCase 注入 Presenter

如何将 UseCase 注入 Moxy Presenter?

出现错误:

引起:kotlin.UninitializedPropertyAccessException:lateinit 属性 twitterLoginBehavior 尚未初始化

但是当我将相同的 UseCases 注入 Activity 时,一切正常。