如何保留对象数据而不在Android中的活动之间传递?

时间:2012-05-17 12:22:06

标签: android object parcelable

实际上,我的申请流程就像这样的主页 - > A-> B->信息(表格数据) - > D->最终页面。如果我按下一个按钮,它会再次导航回到A页面并从头开始流程。如果我进入信息页面,我应该显示earliear数据。现在我的方法是在A-> B->信息 - > D-的所有活动中传递可分配对象> Final.If假设想要使用Preferences,不支持parcelable对象,并且不希望将每个对象的字符串单独放在首选项中,因为我在对象中有超过10个项目。有没有更好的方法而不通过bundle在行为之间。

BR, 显影剂。

3 个答案:

答案 0 :(得分:2)

您可以创建Global classdeclare Static个变量,并在应用程序的任何位置使用它们。 例如:

public class global_variable {
    public static  String sample ;
}

你想要使用的地方;

global_variable.sample = "your value";

答案 1 :(得分:0)

您可以使用任意数量的技术将数据对象解析为字符串并重新组合。然后你可以将字符串存储在首选项中。

看看gson将对象转换为json http://code.google.com/p/google-gson/ 或者你可以谷歌xstream转换为xml

答案 2 :(得分:-1)

如果您使用适当的setter / getters创建表示“对象”的类,并让该类实现Parceable,然后在Activites之间将该类作为Parceable传递给Bundle 1}},那会不好?

如果那样会很糟糕(例如,如果对象数据的数量非常大或原则上它们不是Parceable)并且您只有一个有意义的类实例您可以将该类设为单例或将其保留在Application对象中。