如何在windows phone 8 app中存储用户数据?

时间:2015-03-16 15:19:16

标签: windows-phone-8

请帮助我如何在window phone 8应用程序中存储用户数据? 我计划在Windows Phone 8上开发一个应用程序,允许用户创建xml文件来存储他们的私人数据。问题是如何在窗口8.1手机上存储用户数据。搜索解决方案后,我知道 +隔离存储可以存储数据,但它只是用于应用的小数据 + SD卡上的存储数据是只读的。 那么,有没有其他方法来存储数据? 感谢和抱歉我的英语技能!

1 个答案:

答案 0 :(得分:1)

ApplicationData(WP8或LocalFolder上的LocalFolder和WP8.1上的RoamingFolder)是为您尝试的目的而设计的。 ApplicationSettings本身对于小块数据更好,但是应用程序可以保存手机在LocalFolder中有空间的任何大小的文件。

有关详细信息,请参阅MSDN上的Accessing app data with the Windows Runtime。虽然文档针对Windows运行时应用程序,但ApplicationData和StorageFile API可用于Windows Phone 8及更高版本的Silverlight应用程序。

其他使用:

using System.Xml.Serialization;
using Windows.Storage;
using System.IO;

代码:

StorageFolder localFolder = ApplicationData.Current.LocalFolder;
StorageFile saveFile = await localFolder.CreateFileAsync("data.xml", CreationCollisionOption.ReplaceExisting);
using (var ras = await saveFile.OpenAsync(FileAccessMode.ReadWrite))
{
    Stream stream = ras.GetOutputStreamAt(0).AsStreamForWrite();
    XmlSerializer serializer = new XmlSerializer(typeof(List<Book>));
    serializer.Serialize(stream, data);
}

如果您需要比XML更多的结构化数据,那么您可以将SQLite数据库存储在本地文件夹中。如果您需要更多的空间而不是合理的应用程序存储在设备上,那么您需要将其移动到Web服务。 Azure Mobile Services是一个很好的地方。您可以从Windows Phone Silverlight应用程序调用此类服务​​,但向导将生成通用应用程序。