21. var folder = ApplicationData.Current.LocalFolder;
var file = await folder.GetFileAsync(“app-data.xml");
using (var stream = await file.OpenSequentialReadAsync()))
{
var serializer = new XmlSerializer(data.GetType());
data = serializer.Deserialize(stream.AsStramForRead());
}
file = await folder.CreateFileAsync(“app-data.xml“, CreationCollisionOption.ReplaceExisting);
using (var stream = await file.OpenSequentialWriteAsync())
{
var serializer = new XmlSerializer(data.GetType());
serializer.Serialize(stream, data);
}
Xamarin でアプリデータの保存と復元
ファイルからインスタンスをデシリアライズして復元
Windows ストアアプリ & Windows Phone 8.1 での読み書き
インスタンスをシリアライズしてファイルに保存
22. var folder = ApplicationData.Current.LocalFolder;
var file = await folder.GetItemAsync(“app-data.xml");
using (var stream = new StreamReader(file.Path))
{
var serializer = new XmlSerializer(data.GetType());
data = serializer.Deserialize(stream);
}
file = await folder.CreateFileAsync(“app-data.xml“, CreationCollisionOption.ReplaceExisting);
using (var stream = new StreamWriter(file.Path))
{
var serializer = new XmlSerializer(data.GetType());
serializer.Serialize(stream, data);
}
Xamarin でアプリデータの保存と復元
Windows Phone 8.0 での読み書き
ファイルからインスタンスをデシリアライズして復元
インスタンスをシリアライズしてファイルに保存
23. var folder = Environment.GetFolderPath(Environment.SpecialFolder.Personal);
var file = Path.Combine(folder, “app-data.xml");
using (var stream = new StreamReader(file))
{
var serializer = new XmlSerializer(data.GetType());
data = serializer.Deserialize(stream);
}
// file パスは同じ
using (var stream = new StreamWriter(file))
{
var serializer = new XmlSerializer(data.GetType());
serializer.Serialize(stream, data);
}
Xamarin でアプリデータの保存と復元
iOS & Android での読み書き
ファイルからインスタンスをデシリアライズして復元
インスタンスをシリアライズしてファイルに保存