简介
演示应用程序的生命周期事件与各事件之间的数据处理。
- 生命周期事件。
- 生命周期数据处理。
生命周期事件
- 打开已有项目 AwesomeApp。
- 编辑 App.xaml.cs:
protected override void OnStart()
{
Console.WriteLine("OnStart");
}
protected override void OnSleep()
{
Console.WriteLine("OnSleep");
}
protected override void OnResume()
{
Console.WriteLine("OnResume");
}
- 调试界面:
应用程序起动时触发
应用程序切换到后台时触发
当前活动应用程序切换回本程序时触发
生命周期数据处理
- 编辑 App.xaml.cs:
const string displayText = "displayText";
public string DisplayText { get; set; }
……
protected override void OnStart()
{
Console.WriteLine("OnStart");
if (Properties.ContainsKey(displayText))
{
DisplayText = (string)Properties[displayText];
}
}
protected override void OnSleep()
{
Console.WriteLine("OnSleep");
Properties[displayText] = DisplayText;
}
- 编辑 MainPage.xaml:
<Entry x:Name="entEvent"
Placeholder="这里显示生命周期内容"
Completed="entEvent_Completed" />
- 编辑 MainPage.xaml.cs:
protected override void OnAppearing()
{
base.OnAppearing();
entEvent.Text = (Application.Current as App).DisplayText;
}
private void entEvent_Completed(object sender, EventArgs e)
{
(Application.Current as App).DisplayText = (sender as Entry).Text;
}
- 调试界面:
无输入内容、APP 永久属性字典中不包含 displayText 或 displayText 无值时显示
应用程序切换时 APP 永久属性字典包含 displayText 并 displayText 有值时显示