问题标签 [mosby]

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 投票
2 回答
589 浏览

android - MVP:如何在取消附加后通知视图有关更改

让我们想象一下情况:

  1. 用户单击“登录”按钮和Fragment( View) 调用Presenter方法doLogin()
  2. Presenter开始一些异步工作,现在Boom!应用已关闭(移至最近的应用)
  3. Presenter幸存下来,异步工作仍在进行中。
  4. 应用在后台时完成异步工作。
  5. 用户返回应用程序,但由于视图已取消附加,他没有看到任何工作已完成的通知:

    /li>

我想修复它。我看到的唯一方法是使用Queue<MessageToView>,当View再次附加时,执行每个“消息”。

我认为有一个图书馆可以处理我的案子。那么,是吗?或者我可以使用什么模式?

0 投票
1 回答
1862 浏览

android - Dagger 2:更新范围内提供的对象

示例方案:

在此处输入图像描述

它基于Mosby 示例。我想在范围之间共享Project对象。ProjectFragmentProjectHistoryFragment@PerProject

项目模块:

ProjectModule并将ProjectComponentProjectFragment每个Project-dependent fragment. 好的。

但有一个问题。如果我需要更新标题Project怎么办?就我而言,Project是没有任何设置器的最终对象。Project只能在 ProjectFragment 中修改,因此我可以更新和重置module's未来注入的值。但我认为这是不好的做法。有人可以提供更好的建议吗?

0 投票
2 回答
1456 浏览

android - 单元测试和 joda-time-android

joda-time-android在课堂上使用了库的类Presenter,它不能有任何 Android 依赖项。所以我无法正确测试它。我知道我可以用Robolectric这个,但我想远离这个工具和我的Presenter清洁。我应该放弃 JodaTime 吗?还有其他解决方案吗?

0 投票
1 回答
339 浏览

android - 如何在屏幕旋转时保留 Presenter 的嵌套片段实例

当我开始使用ViewPager. 由于每一页都是嵌套 Fragment的,我不能要求setRetainInstance(true)它。因此,我需要将Fragment的状态存储到 aBundle并取消/调用onViewAttached/Detached我不想这样做的远程 API 方法。

我对这种情况的了解:

  1. 我可以RecyclerViewPager用来避免使用嵌套Fragments,但我仍然无法保留Presenter. 其中一种方法是使用静态字段,但我可以对Fragment.
  2. rootViewPager在 MainActivity 下创建某种Fragments并在viasetVisibility(GONE/VISIBLE)和replace中使用它Adapter。因此,每个Fragment放入其中的ViewPager人都没有父母Fragment,我会解决我的问题。合适且优雅,但不是我认为的最佳解决方案。

还有其他变种吗?

0 投票
1 回答
600 浏览

android - Mosby、Conductor 和 Rx 打得不好

我刚刚开始了一个新的示例项目来使用 Mosby 测试 Conductor。问题是,在我离开 FirstScreen 或旋转设备之后,在 Rx onNext 回调之后,isViewAttached()总是返回 false,我不明白为什么。一些片段需要澄清:

我的主持人:

以及 FirstScreen 的某些部分:

困扰我的是,当第一次打开时,我可以点击菜单项,它就像一个魅力,但如果我离开或旋转,描述的问题就开始了。

任何帮助将不胜感激 !

0 投票
1 回答
117 浏览

android - 演示者:何时使​​用 setRetainInstance(true) 片段开始异步工作

Fragment 生命周期中保留实例的唯一区别是onCreate()不调用。但是在这种状态下,视图还没有膨胀。

我什么时候必须调用Fragment之类loadNews()的方法?我只想在创建新的 Fragment 实例时才这样做。PresentersetRetainInstance(true)loadNews()

0 投票
1 回答
361 浏览

android - Android MVP 应用程序

我要开始一个新的android项目,我想使用干净的架构和MVP。我一直在阅读这方面的内容,并且找到了 Mosby 库,但是,使用 Mosby 库而不是在没有 Mosby 的情况下使用 MVP 有哪些好处?你是如何实施 MVP 的?

非常感谢

0 投票
0 回答
44 浏览

android - Mosby:视图膨胀后的任何 onNewViewState() 方法?

现在我可以像这样调用presenter在第一时间更新UI:

Presenter

而且我总是必须包装代码Handler.post以避免在膨胀之前执行此代码。 Views

有什么解决方案可以避免Handler在每一个中使用View

0 投票
0 回答
247 浏览

dagger-2 - 如何使用匕首 2 创建具有不同注入的片段的两个实例

我有带有可观察注入的片段和两个具有相同接口的可观察对象(网络可观察和数据库可观察)。如何创建两个具有不同可观察对象的片段实例?

用代码更新: 我有两个具有相同界面的子组件

首先从 db 获取数据,然后从 api 获取数据。我有带有 recyclerview 的片段来显示列表。

我必须保存指向我的子组件对象的链接,以便使用 mosby 进行其他工作。

我如何创建我的 NewsListFragment 的两个实例来显示来自 db 和 api 的数据。

0 投票
2 回答
1491 浏览

android - Android MVP 和分析

如何在 MVP 应用架构上应用 Firebase Analytics(例如)?(我使用Mosby构建 MVP)

我想跟踪"opening screen",的事件"do click action"

这就是我发送"opening screen"事件的方式。

  1. doAction(...) 必须调用。好的。

  2. initialize()即使当用户从后台导航回到屏幕时也会调用。我希望它仅在用户以“前向”导航到屏幕时发送事件。它看起来也是一个糟糕的解决方案,因为引入的方法是在首次创建时进行initialize()初始化,而不是用于记录分析事件。PresenterViewState

听起来我必须将 Fragment 的生命周期分享给 Presenter。不好。

你能推荐什么?我必须为每个片段创建另一个实体,例如 AnalyticsPresenter 吗?你如何处理这个案子?