如何将变量include图像保存到windowsphone中的隔离存储中


我一直在写一篇关于windowsphone的文章。我创建了一个地址变量include一个uri,将一个图像添加到地址中。使用隔离存储保存数据时出现错误。我不知道为什么。请帮帮我!非常感谢。
class Address
{
private string name;
private Uri icon;
.....
}

public void save()
{
XmlWriterSettings xmlwritersetting = new XmlWriterSettings();
xmlwritersetting.Indent = true;
using (IsolatedStorageFile myisolatedstiragefile = IsolatedStorageFile.GetUserStoreForApplication())
{
if (myisolatedstiragefile.FileExists(filename))
{
myisolatedstiragefile.DeleteFile(filename);
}
using (IsolatedStorageFileStream stream = new IsolatedStorageFileStream(filename, System.IO.FileMode.OpenOrCreate, myisolatedstiragefile))
{
XmlSerializer serializer = new XmlSerializer(typeof(List<Adress>));
using (XmlWriter writer = XmlWriter.Create(stream, xmlwritersetting))
{
serializer.Serialize(writer, listadress);
}
}
}
}

我理解你的问题有点困难,但我会尽力的。您确实应该指出调试器中出现的错误以及错误发生的位置。

但是,仅凭观察,您可能正在尝试使用XmlSerializer将二进制图像数据写入iso存储,但这可能不起作用。您可以在这里找到许多将iso存储用于各种目的的示例,包括写入图像文件:http://www.windowsphonegeek.com/tips/All-about-WP7-Isolated-Storage---Read-and-Save-Images

例如,它显示您可以通过以下操作将JPG图像保存到隔离存储中:

// Create a filename for JPEG file in isolated storage.
String tempJPEG = "logo.jpg";             
// Create virtual store and file stream. Check for duplicate tempJPEG files. 
using (IsolatedStorageFile myIsolatedStorage = IsolatedStorageFile.GetUserStoreForApplication())            {
if (myIsolatedStorage.FileExists(tempJPEG))                {
myIsolatedStorage.DeleteFile(tempJPEG);
}  
IsolatedStorageFileStream fileStream = myIsolatedStorage.CreateFile(tempJPEG); 
StreamResourceInfo sri = null;
Uri uri = new Uri(tempJPEG, UriKind.Relative);
sri = Application.GetResourceStream(uri);
BitmapImage bitmap = new BitmapImage();
bitmap.SetSource(sri.Stream);
WriteableBitmap wb = new WriteableBitmap(bitmap);
// Encode WriteableBitmap object to a JPEG stream.
Extensions.SaveJpeg(wb, fileStream, wb.PixelWidth, wb.PixelHeight, 0, 85);
//wb.SaveJpeg(fileStream, wb.PixelWidth, wb.PixelHeight, 0, 85);                fileStream.Close();
} 

最新更新