广场的otto可以用作意图的替代吗?

时间:2016-07-13 02:33:19

标签: android android-intent otto

作为一个新的Android开发人员,在我看来,将数据从一个活动传递到一个片段或一个片段到一个活动是太多的代码来编写。想知道can otto库可以用来代替传递数据的意图吗?它可以用作Android应用程序中唯一的数据传递机制吗?

2 个答案:

答案 0 :(得分:2)

我认为这可能是可能的,但它不是我想要维护的代码。

使用消息总线假定消息的发件人和收件人同时存在并处于活动状态。在通过Intent从一个Activity转换到另一个Activity的情况下,目标Activity通常不存在,如果存在,则它不处于活动状态。因此,在此模式下,无法用总线消息替换Intent。

Otto确实支持"制作人",这可以用来做到这一点,但同样,我真的不会建议。

如果您必须在活动之间传递大量数据,那么您可能会遇到一些设计问题。它通常表明您已将所有内容填充到您的活动中,而不是拥有适当的单独数据模型。

答案 1 :(得分:2)

想知道可以使用otto库来替代传递数据的意图吗?
是的,我们可以使用otto(或其他事件总线)作为传递数据的手段。

可以在Android应用程序中用作唯一的数据传递机制吗?
可以是或否。取决于你的需要。如果你使用activity和fragment,你可以使用Intent和Bundle。但是当你想在活动和片段之间communicate时,你可以使用otto。