序列化一个静态类

时间:2011-11-21 23:00:53

标签: java android serialization deserialization

在我的Android应用程序中,我有几个用户配置某个操作的活动。在配置的每个步骤中,我将用户提供的参数存储在管理此操作的静态类中。配置完成后,所有活动都可以访问这些参数,一切都很完美。

除了我想要保留此配置以便在将来执行应用程序时,不需要再次配置它。 如何恢复静态类状态? 我不想在数据库中创建一个表只是为了存储这个对象(我认为这是一个丑陋的解决方案)。

我也可以将所有配置转储到SharedPreferences中,但是我在管理器中有很多参数,它存储了操作执行结果的对象列表,手动存储它会有点痛苦。在关键/价值解决方案中。

相反,我正在考虑将类序列化为文件,并在应用程序启动时检查文件是否存在,如果为true,我将其再次反序列化到我的Manager中。 这是一种正确的方法,还是有更漂亮的解决方案?此外,此静态类中的列表对象是否会被序列化,还是需要单独序列化每个对象? 我正在考虑做一些像example

这样的事情

1 个答案:

答案 0 :(得分:1)

我认为序列化文件是一个很好的主意。看起来比处理数据库或键/值对更清洁,更简单。否则,感觉就像序列化序列化一样。

回答第二个问题:通常,java.util.List的实现将实现java.io.Serializable,因此您不需要单独执行它们。

我会完全按照您所描述的文件进行操作,并在该示例中。