1

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

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

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

4

3 回答 3

0

Android 开发网站提供了对跨 Activity 数据传递选项的全面审查以及使用它们的建议时间,最好是您审查它们并选择最适合您情况的解决方案。

于 2013-07-16T01:49:00.650 回答
0

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

这是教程,即如何实现共享偏好。

如果您在代码中使用共享首选项,则无需将数据(参数)从 Activity A->B->C 传递到 D 中。您只需保存一次数据(参数)即可重新开始任何活动。

希望这可以帮助

于 2013-07-16T03:27:32.950 回答
0

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

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

在我当前的应用程序中,它开始使用extras,只有几个,然后发展成为更多。它变得难以管理,因为数据最终被传递并用于许多不同的类。我刚刚完成了创建几个单独的类static HashMaps, ArrayLists, and ContenValues,其中包括objects. 然后我不得不将所有extras数据迁移到这些类。

于 2013-07-15T22:10:32.647 回答