java - Android Activity 之间的信息传递

标签 java android

我几乎没有为上一个 Activity 设置参数的 Activity 例如假设我有 4 个 Activity A->B->C->D。 在 A、B、C Activity 中,用户选择了最终需要提供给 D 的几个参数。 现在有两种方法可以实现这一目标

  1. 使用intent.putExtra通过 Activity 传递参数值A 将其参数传递给 B,然后 B 将其传递给 C,依此类推。
  2. 将它们存储在某个静态类中,Activity D 可以从那里访问它。

只是想知道,这些方法中哪种最好,为什么?

最佳答案

这实际上取决于您的需求和信息量。如果信息很少(可能是 2 或 3 条数据),我会说使用 putExtra() 就可以了,也许建议将它们放在 Bundle 中,这样你就不会'不必担心每个Activity中的每一个额外内容。

如果您处理的事情远不止这些,那么我建议将它们添加到一个单独的类中。 IMO,如果您决定以其他方式使用数据,这种方式会更容易维护,语法错误(例如拼写错误“key”参数)的机会更少,并且更灵活。

在我当前的应用程序中,它一开始只使用了一些extras,然后逐渐增多。由于数据最终被传递并在许多不同的类中使用,它变得难以管理。我刚刚使用静态 HashMap、ArrayList 和 ContenValues 以及其他对象创建了几个单独的类。然后,我必须将所有 extras 数据迁移到这些类。

关于java - Android Activity 之间的信息传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17664690/

相关文章:

java - 套接字输入流在流末尾不返回 -1

java - Android Studio 2.1.2 - 错误 :cannot resolve method setText(java. lang.string)

javascript - Android-Java & JavaScript(Webview) 之间的桥梁

android - 将 recyclerview 的最后两项居中?

java - 如何使用itext7.1在原始内容下添加文本水印

java - 计算字符串的字母(大写和小写)

javascript - AngularJS 中传递的 Java REST API URL 不起作用

Java-创建一个 String 对象但之后分配

android - Unity android构建错误: INSTALL_FAILED_VERSION_DOWNGRADE

android - 使用 ant 构建时 com.android.ant.ApkBuilderTask.execute 中的 NullPointerException