代码改变世界

WP7备注(13)(独立储存)

2011-04-27 15:00  血糯米Otomii  阅读(221)  评论(0编辑  收藏  举报

IsolatedStorageSettings:

public Brush BackgroundBrush { set; get; }

void LoadSettings()
{
IsolatedStorageSettings settings = IsolatedStorageSettings.ApplicationSettings;
Color clr;
if (settings.TryGetValue<Color>("backgroundColor", out clr))
BackgroundBrush = new SolidColorBrush(clr);
}
void SaveSettings()
{
IsolatedStorageSettings settings = IsolatedStorageSettings.ApplicationSettings;
if (BackgroundBrush is SolidColorBrush)
{
settings["backgroundColor"] = (BackgroundBrush as SolidColorBrush).Color;
settings.Save();
}
}

XNA独立储存:

public class Settings
{
const string filename = "settings.xml";
// Application settings
public Color BackgroundColor { set; get; }
public Settings()
{
BackgroundColor = Color.Navy;
}
public void Save()
{
IsolatedStorageFile storage = IsolatedStorageFile.GetUserStoreForApplication();
IsolatedStorageFileStream stream = storage.CreateFile(filename);
XmlSerializer xml = new XmlSerializer(GetType());
xml.Serialize(stream, this);
stream.Close();
stream.Dispose();
}
public static Settings Load()
{
IsolatedStorageFile storage = IsolatedStorageFile.GetUserStoreForApplication();
Settings settings;
if (storage.FileExists(filename))
{
IsolatedStorageFileStream stream =
storage.OpenFile("settings.xml", FileMode.Open);
XmlSerializer xml = new XmlSerializer(typeof(Settings));
settings = xml.Deserialize(stream) as Settings;
stream.Close();
stream.Dispose();
}
else
{
settings = new Settings();
}
return settings;
}
}
PhoneApplicationService appService = PhoneApplicationService.Current;
appService.Launching += OnAppServiceLaunching;
appService.Activated += OnAppServiceActivated;
appService.Deactivated += OnAppServiceDeactivated;
appService.Closing += OnAppServiceClosing;

void OnAppServiceLaunching(object sender, LaunchingEventArgs args)
{
settings = Settings.Load();
}
void OnAppServiceActivated(object sender, ActivatedEventArgs args)
{
settings = Settings.Load();
}
void OnAppServiceDeactivated(object sender, DeactivatedEventArgs args)
{
settings.Save();
}
void OnAppServiceClosing(object sender, ClosingEventArgs args)
{
settings.Save();
}