我想在手机上存储应用状态,以便在应用再次启动时重新创建。
问题在于我需要存储包含所有类型的IDictionary<string, object>
之类的内容。有没有好办法呢?
我不想手动为每种类型做这件事,就像我现在做的那样。我将每个类型转换为json,并将其保存为字符串。我目前需要手机上的文件系统,如
MyApp \\ JObjects \\ asd.json
MyApp \\ Dictionary_string_int \\ asd2.json
...等等,所以我稍后可以获得原始对象的类型并可以调用
例如 Deserialze< IDictionary<string, int> >(..)
这非常痛苦。每次我想要存储一个新类型时,我必须首先实现一个方法并测试它。像IDicionary< string, IDicitionary<string, object>>
这样的对象特别痛苦。
答案 0 :(得分:1)
您可以使用独立存储将反序列化的XML保存并读取到单独的文件中。查看本教程使用它:
http://www.geekchamp.com/tips/all-about-wp7-isolated-storage---read-and-save-xml-files
这篇文章适用于WP7,但它也适用于WP8。我认为它现在在WP8中被称为本地文件夹,但代码应该是相同的。