windows phone应用程序生命周期及数据保存
2020-12-13 16:06
标签:style blog http io color ar os 使用 sp windwos phone应用程序生命周期大家可以参考msdn上的介绍,上面介绍的很详细。http://msdn.microsoft.com/zhcn/library/windows/apps/xaml/hh464925.aspx 接下来主要介绍在应用程序挂起时数据的保存。 保存数据我们可以通过以下这三种方式。 1、通过SuspensionManager类 2、通过NavigationHelper类 3、通过微软提供的API,ApplicationData.Current.LocalSettings 注意:SuspensionManager和NavigationHelper是微软为我们封装好的两个类,右键解决方案->添加新项->基本页,添加完基本页以后vs会自动生成一个common文件夹。 1、使用SuspensionManager保持应用程序挂起时的状态 ①、首先找到app.xaml.cs文件 ②、在OnLaunched事件中注册SuspensionManager ③、在事件OnSuspending保存挂起数据 ④、在OnLaunched事件中加载状态 2、NavigationHelper类的使用要依赖于SuspensionManager,在使用NavigationHelper类之前先配置SuspensionManager,方法如上 ①、应用程序挂起保存数据,在NavigationHelper_SaveState ②、在NavigationHelper_LoadState事件中加载保存数据 3、使用微软提供API windows phone应用程序生命周期及数据保存 标签:style blog http io color ar os 使用 sp 原文地址:http://www.cnblogs.com/yyqjoy/p/4079715.html //注册SuspensionManager 程序挂起时通知保存数据
SuspensionManager.RegisterFrame(rootFrame, "appFrame");
await SuspensionManager.SaveAsync();
if (e.PreviousExecutionState == ApplicationExecutionState.Terminated)
{
// TODO: 从之前挂起的应用程序加载状态
await SuspensionManager.RestoreAsync();
}
private void NavigationHelper_SaveState(object sender, SaveStateEventArgs e)
{
e.PageState.Add("txt", txtName.Text);
}
private void NavigationHelper_LoadState(object sender, LoadStateEventArgs e)
{
if (e.PageState!=null&&e.PageState.ContainsKey("txt"))
{
txtName.Text = e.PageState["txt"] as string;
}
}
//保存数据
Windows.Storage.ApplicationData.Current.LocalSettings.Values["txt"] = txtName.Text;
//获取数据
string str = Windows.Storage.ApplicationData.Current.LocalSettings.Values["txt"] as string;
if (str != null)
{
txtName.Text = str;
}