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