当前位置:首页 > 资讯 > info5 > 正文

生命周期管理

发表于: 2015-04-04   作者:ggz631047367   来源:转载   浏览:
摘要: 使用BasicPage页面间传递复杂对象:privatevoidgo2_Click(objectsender,RoutedEventArgse) { studentstu=newstudent(){id=1,name="ggz"};//类必须定义为public varserializer=newDataContractSerializer(typeof(student)); MemoryStrea

使用BasicPage
页面间传递复杂对象:

private void go2_Click(object sender, RoutedEventArgs e)
        {
            student stu = new student() { id = 1, name = "ggz" }; //类必须定义为public
            var serializer = new DataContractSerializer(typeof(student));
            MemoryStream stream = new MemoryStream();

            serializer.WriteObject(stream, stu);
            byte[] barray = stream.ToArray();
            string param = Encoding.UTF8.GetString(barray,0, barray.Length);
            System.Diagnostics.Debug.WriteLine(param);
            Frame.Navigate(typeof(BasicPage1),param);
        }


protected override void OnNavigatedTo(NavigationEventArgs e)
        {
            byte[] buffer = Encoding.UTF8.GetBytes((string)e.Parameter);
            MemoryStream stream = new MemoryStream(buffer);
            DataContractSerializer serializer = new DataContractSerializer(typeof(student));
            student stu= serializer.ReadObject(stream) as student;

            navigationHelper.OnNavigatedTo(e);
            if (stu != null)
                this.textBox1.Text = stu.name;
        }

步骤:
App:
OnLaunched中添加:

 rootFrame = new Frame();

                App12.Common.SuspensionManager.RegisterFrame(rootFrame, "appFrame");//第一句注册

                // Set the default language
                rootFrame.Language = Windows.Globalization.ApplicationLanguages.Languages[0];

                rootFrame.NavigationFailed += OnNavigationFailed;



                if (e.PreviousExecutionState == ApplicationExecutionState.Terminated)
                {
                    //TODO: Load state from previously suspended application
                    await App12.Common.SuspensionManager.RestoreAsync();//第二句还原
                }

                // Place the frame in the current Window
                Window.Current.Content = rootFrame;

OnSuspending中添加:

await App12.Common.SuspensionManager.SaveAsync();

MainPage:


private void navigationHelper_LoadState(object sender, LoadStateEventArgs e)
        {
            if (e.PageState != null && e.PageState.ContainsKey("input"))
                put.Text = e.PageState["input"].ToString();
        }

private void navigationHelper_SaveState(object sender, SaveStateEventArgs e)
        {
            e.PageState["input"] = put.Text;

        }

使用本地设置:

保存:
 ApplicationDataContainer localSettings = ApplicationData.Current.LocalSettings;

//ApplicationDataContainer 存储数据的容器  ApplicationData 提供对应用程序数据存储区的访问

// localSettings 获取本地应用程序数据存储区中的应用程序设置容器。
localSettings.Values["value"] = nameinput.Text;

//将 nameinput.Text的内容以键值对的形式保存到ApplicationDataContainer

恢复:
ApplicationDataContainer localSettings = ApplicationData.Current.LocalSettings;
 if(localSettings.Values.ContainsKey(“value”))
 {
nameinput.Text = localSettings.Values["value"].ToString();

}

生命周期管理

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
1,activity貌似是一个显示页的东西。 打开软件第一个activity(main activity)在AndroidManifest.
Tomcat 包含多个很多个组件, Tomcat 内部使用一个观察者模式来组织这些组件之间的关系,做到同时启
首先,测试人员发现 BUG ,做好记录并上报至 BUG 数据库。接着,开发组长或经理确定该 BUG 是否有效
Spring bean 生命周期管理 For a bean to get into a usable state after instantiation, it needs
线程的生命周期: 线程是一个动态执行的过程,它也有一个从产生到死亡的过程。 (1)生命周期的五种状
Android Activity生命周期管理 田海立@CSDN 2011/07/23 本文描述Android中Activity的状态,Activity
本文描述Android中Activity的状态,Activity的状态转换,从而总结了Activity各个生命周期的典型时序
之前零零散散地学了很多,但总感觉没有一个系统的结构,想想原因有两个: 1.没有及时总结,不要觉得
摘 要:本文阐述了软件生命周期的概念,介绍了四种常用的软件产品开发的模型,并举例说明如何选择软
2015.10.24-10.27 个人英文阅读练习笔记(低水准)。原文地址:http://developer.android.com/train
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号