在Windows应用商店应用开发中保存复杂用户数据的正确方法是什么?

时间:2014-01-13 23:47:58

标签: c# windows windows-runtime windows-8.1

我正在学习Windows应用商店应用开发。我是一名具有很多Cocoa Touch经验的iOS开发人员,但没有Microsoft技术经验,因此从语言到工具的所有内容对我来说都是新的。

我无法弄清楚正确在Windows应用商店应用中保存复杂用户数据的方式。我总是处理在iOS中保存用户数据的方法是通过一个类(或一系列类)来表示我的应用程序的数据模型,我将其序列化和反序列化(使用NSCoder / encodeWithCoder / decodeWithCoder)以便保存。我认为这就是我在Windows应用商店应用中所做的事情,但是经过数小时的研究和反复试验(主要是错误),我认为这不是在这个世界上做的事情。

这是我的用例:我正在编写一个简单的图像处理/拼贴应用程序,允许用户导入照片,排列和处理它们,然后保存或共享输出。我的数据模型是一个管理图像数组的类。图像的属性反映了它们的位置,变换等。

为了让我的用户保存并加载他们的作品,我想我会简单地序列化和反序列化我的数据模型类。但是,似乎Windows应用商店应用只有XMLSerializer,而且它非常有限。您不能序列化图像,更不用考虑图像阵列。最重要的是,它似乎需要大量的管道代码,我找不到甚至可以为自定义类工作的示例。你可以用它来序列化一个字符串,但任何更复杂的东西似乎都没有了。

那么,Windows开发人员,这样做的正确方法是什么?我应该复制给定拼贴的所有文件,将它们放在一个目录中,保存显示哪些文件的清单,压缩它,然后调用我的文件?这似乎是很多的工作。我的研究中有疏忽吗?有没有一种简单的方法可以像我在iOS上那样二进制序列化我的数据模型?

非常感谢 寻求帮助:)

2 个答案:

答案 0 :(得分:1)

有许多方法可以序列化对象模型,但我使用的方法是DataContractSerializer

它按照你的描述工作,你编写一些类,为它们添加序列化的属性,然后用DataContractSerializer序列化它们。

图像不是由它序列化的,你必须自己处理。

答案 1 :(得分:1)