Android活动之间传递的信息

时间:2013-07-15 22:00:56

标签: java android

我没有为最后一个活动设置参数的活动 对于例如假设我有4个活动A-> B-> C-> D。 在A,B,C活动中,用户选择几个最终需要可用于D的参数。 现在有两种方法可以实现这个目标

  1. 使用intent.putExtra将参数值传递给活动。 A将其参数传递给B,然后B将其传递给C,依此类推。
  2. 将这些存储在某个静态类中,Activity D可以从那里访问它。
  3. 只是想知道,哪种方法最好,为什么?

3 个答案:

答案 0 :(得分:0)

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

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

在我当前的应用中,它开始使用extras,只有少数,然后变得更多。它无法管理,因为数据最终被传递并用于许多不同的类。我刚刚使用static HashMaps, ArrayLists, and ContenValues和其他objects创建了几个单独的类。然后,我必须将所有extras数据迁移到这些类。

答案 1 :(得分:0)

Android dev site提供对交叉活动数据传递选项的全面审核以及建议的使用时间,最好是查看它们并选择最适合您情况的解决方案。

答案 2 :(得分:0)

还有第三种方法可以将参数存储在Shared Preferences

这里是tutorial,即如何实现共享prefrence。

如果您在代码中使用共享pref,则无需将活动A-> B-> C中的数据(参数)传递给D in。您只需保存数据(参数)一次,可以重新获得任何活动。

希望这有帮助