问题标签 [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.
android - MVP:如何在取消附加后通知视图有关更改
让我们想象一下情况:
- 用户单击“登录”按钮和
Fragment
(View
) 调用Presenter
方法doLogin()
。 Presenter
开始一些异步工作,现在Boom!应用已关闭(移至最近的应用)Presenter
幸存下来,异步工作仍在进行中。- 应用在后台时完成异步工作。
用户返回应用程序,但由于视图已取消附加,他没有看到任何工作已完成的通知:
/li>
我想修复它。我看到的唯一方法是使用Queue<MessageToView>
,当View
再次附加时,执行每个“消息”。
我认为有一个图书馆可以处理我的案子。那么,是吗?或者我可以使用什么模式?
android - Dagger 2:更新范围内提供的对象
示例方案:
它基于Mosby 示例。我想在范围之间共享Project
对象。ProjectFragment
ProjectHistoryFragment
@PerProject
项目模块:
ProjectModule
并将ProjectComponent
由ProjectFragment
每个Project-dependent fragment
. 好的。
但有一个问题。如果我需要更新标题Project
怎么办?就我而言,Project
是没有任何设置器的最终对象。Project
只能在 ProjectFragment 中修改,因此我可以更新和重置module's
未来注入的值。但我认为这是不好的做法。有人可以提供更好的建议吗?
android - 单元测试和 joda-time-android
我joda-time-android
在课堂上使用了库的类Presenter
,它不能有任何 Android 依赖项。所以我无法正确测试它。我知道我可以用Robolectric
这个,但我想远离这个工具和我的Presenter
清洁。我应该放弃 JodaTime 吗?还有其他解决方案吗?
android - 如何在屏幕旋转时保留 Presenter 的嵌套片段实例
当我开始使用ViewPager
. 由于每一页都是嵌套 Fragment
的,我不能要求setRetainInstance(true)
它。因此,我需要将Fragment
的状态存储到 aBundle
并取消/调用onViewAttached/Detached
我不想这样做的远程 API 方法。
我对这种情况的了解:
- 我可以
RecyclerViewPager
用来避免使用嵌套Fragments
,但我仍然无法保留Presenter
. 其中一种方法是使用静态字段,但我可以对Fragment
. rootViewPager
在 MainActivity 下创建某种Fragments
并在viasetVisibility(GONE/VISIBLE)
和replace中使用它Adapter
。因此,每个Fragment
放入其中的ViewPager
人都没有父母Fragment
,我会解决我的问题。合适且优雅,但不是我认为的最佳解决方案。
还有其他变种吗?
android - Mosby、Conductor 和 Rx 打得不好
我刚刚开始了一个新的示例项目来使用 Mosby 测试 Conductor。问题是,在我离开 FirstScreen 或旋转设备之后,在 Rx onNext 回调之后,isViewAttached()
总是返回 false,我不明白为什么。一些片段需要澄清:
我的主持人:
以及 FirstScreen 的某些部分:
困扰我的是,当第一次打开时,我可以点击菜单项,它就像一个魅力,但如果我离开或旋转,描述的问题就开始了。
任何帮助将不胜感激 !
android - 演示者:何时使用 setRetainInstance(true) 片段开始异步工作
Fragment 生命周期中保留实例的唯一区别是onCreate()
不调用。但是在这种状态下,视图还没有膨胀。
我什么时候必须调用Fragment之类loadNews()
的方法?我只想在创建新的 Fragment 实例时才这样做。Presenter
setRetainInstance(true)
loadNews()
android - Android MVP 应用程序
我要开始一个新的android项目,我想使用干净的架构和MVP。我一直在阅读这方面的内容,并且找到了 Mosby 库,但是,使用 Mosby 库而不是在没有 Mosby 的情况下使用 MVP 有哪些好处?你是如何实施 MVP 的?
非常感谢
android - Mosby:视图膨胀后的任何 onNewViewState() 方法?
现在我可以像这样调用presenter在第一时间更新UI:
在Presenter
:
而且我总是必须包装代码Handler.post
以避免在膨胀之前执行此代码。 Views
有什么解决方案可以避免Handler
在每一个中使用View
?
dagger-2 - 如何使用匕首 2 创建具有不同注入的片段的两个实例
我有带有可观察注入的片段和两个具有相同接口的可观察对象(网络可观察和数据库可观察)。如何创建两个具有不同可观察对象的片段实例?
用代码更新: 我有两个具有相同界面的子组件
首先从 db 获取数据,然后从 api 获取数据。我有带有 recyclerview 的片段来显示列表。
我必须保存指向我的子组件对象的链接,以便使用 mosby 进行其他工作。
我如何创建我的 NewsListFragment 的两个实例来显示来自 db 和 api 的数据。
android - Android MVP 和分析
如何在 MVP 应用架构上应用 Firebase Analytics(例如)?(我使用Mosby构建 MVP)
我想跟踪"opening screen"
,的事件"do click action"
。
这就是我发送"opening screen"
事件的方式。
doAction(...) 必须调用。好的。
initialize()
即使当用户从后台导航回到屏幕时也会调用。我希望它仅在用户以“前向”导航到屏幕时发送事件。它看起来也是一个糟糕的解决方案,因为引入的方法是在首次创建时进行initialize()
初始化,而不是用于记录分析事件。Presenter
ViewState
听起来我必须将 Fragment 的生命周期分享给 Presenter。不好。
你能推荐什么?我必须为每个片段创建另一个实体,例如 AnalyticsPresenter 吗?你如何处理这个案子?