日期:2014-05-17  浏览次数:20778 次

Windows8 Metro开发 (04) : 保存/读取本地应用程序设置

Josè Mourinho的专栏 http://blog.csdn.net/zyc13701469860

转载请注明原作者和出处。


有些时候我们需要保存应用程序的设置,如用户的系统设定。在Android中,我们可以使用sharepreference。在Metro中我们该怎么做呢?

保存/读取基本类型数据
 Metro程序会把要保存的数据写入ApplicationData.Current.LocalSettings字典中,并保存在本地。程序在开始运行的时候会从本地初始化该字典。加载之前保存的数据。这样我们就可以方便的保存/读取基本类型数据了。
我将其封装成了一个工具类。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Windows.Storage;

namespace Win8_Study.Pages
{
    class LocalDataUtil
    {
        #region 保存/读取基本类型数据
        public static void SaveData(string key, object value)
        {
            ApplicationData.Current.LocalSettings.Values[key] = value;
        }

        public static object GetData(string key)
        {
            return ApplicationData.Current.LocalSettings.Values[key];
        }


        public static void RemoveData(string key)
        {
            ApplicationData.Current.LocalSettings.Values.Remove(key);
        }
        #endregion
    }
}

下面我们来看一个示例:

默认显示的字体大小为24,我们将其字体改为28后返回到主页面,然后重新进入该页面。你会发现字体的大小变为28了。
重新启动程序进入该页面,你会发现字体的大小仍然为28。
下拉列表的选中项与字体大小是时刻对应的.

实现方法如下
1.每次进入该页面的时候,首先获取之前保存的字体大小
a.没有获取到
将字体大小设为默认值
b.获取到
将字体大小设为获取的值
2.用户改变字体大小时,保存改变后的值
    public sealed partial class LocalDataPage : Win8_Study.Common.LayoutAwarePage
    {
        private readonly string TEXT_VALUE = "国米_百度百科\n" +
            "国际米兰足球俱乐部(Football Club Internazionale Milano,简称 Inter 或 Internazionale)" +