我没有为最后一个活动设置参数的活动 对于例如假设我有4个活动A-> B-> C-> D。 在A,B,C活动中,用户选择几个最终需要可用于D的参数。 现在有两种方法可以实现这个目标
只是想知道,哪种方法最好,为什么?
答案 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。您只需保存数据(参数)一次,可以重新获得任何活动。
希望这有帮助