android - Square的otto可以用来代替intent吗?

标签 android android-intent otto

作为一名新的 Android 开发人员,在我看来,将数据从一个 Activity 传递到一个 Fragment 或将一个 Fragment 传递到一个 Activity 需要编写太多代码。想知道 otto 库可以用来替代传递数据的 Intent 吗?它可以用作 Android 应用程序中唯一的数据传递机制吗?

最佳答案

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

消息总线的使用假设消息的发送者和接收者存在并且同时处于 Activity 状态。在通过 Intent 从一个 Activity 转换到另一个 Activity 的情况下,目标 Activity 通常不存在,即使存在,也不会处于 Activity 状态。因此,在这种模式下,不可能用总线消息替换 Intent。

Otto 确实支持“生产者”,可以用来做到这一点,但我真的不会建议这样做。

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

关于android - Square的otto可以用来代替intent吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38341747/

相关文章:

java - Intent 不起作用

java - 我获得了 listView 中每个项目的 key 并将其保存到 Firebase 我想将该 key 发送到另一个 Activity ,但每次我获得相同的 key

android - 使用默认调用应用程序在 Android 应用程序中进行调用

android - 正确使用 <intent-filter>

android - 用奥托代替一切

android - 使用 Otto 将数据从 Activity 传递到 Fragment

android - 如何使用 otto 将事件从适配器发布到 Activity

java - 如何衡量条件成立的时间?

java - 如何从非 Activity 类中检索上下文?

android - Linux API,即使使用正确的文件描述符和权限,Write() 也会失败