zoukankan      html  css  js  c++  java
  • <metro>Application Data

          Application Data样例显示了如何存储和检索数据,是特定于metro风格的,在Windows运行程序中的数据编程接口API。

                                                 图1

           如图1,用户数据在一个应用程序中可以被存储为文件。有本地(local)/漫游(roaming)/临时的(temporary)三种。

                                                图2

           如图2,Settings主要是存储程序中的键值对。可以是localSettings本地设置,或是roamingSettings漫游设置。如写入设置“HelloWorld”。同时,单击“Delete setting”键会删除。如图3.

                         

                                                图3

            如图4,Setting Containers 设置容器实质上是组的设置,是很常用的一种组织形式。用createContainer和deleteContainer删除容器来读/写/删一些设置容器。

                                                  图4

            当击中Increment-Click事件方法后,Counter计数器开始增加,StorageFile存储文件实例化一个文件file,等待await漫游文件夹创建一个异步文件,等待文件异步输入。然后输出DisplayOutput()。它会调用ReadCounter()方法,随即输出文本。

    Files.xaml.cs
            async void Increment_Click(Object sender, RoutedEventArgs e)        {            counter++;            StorageFile file = await roamingFolder.CreateFileAsync(filename,      CreationCollisionOption.ReplaceExisting);            await FileIO.WriteTextAsync(file, counter.ToString());            DisplayOutput();        }        async void ReadCounter()        {            try{                StorageFile file = await roamingFolder.GetFileAsync(filename);                string text = await FileIO.ReadTextAsync(file);                OutputTextBlock.Text = "Counter: " + text;                counter = int.Parse(text); }            catch (Exception) {                OutputTextBlock.Text = "Counter: <not found>";        }}

           Settings.xaml.cs中,单击writeSetting-Click,会写入文本“Hello World”并输出。单击DeleteSetting_click,会清空文本并输出。

           void WriteSetting_Click(Object sender, RoutedEventArgs e)
            {
                localSettings.Values[SettingName] = "Hello World"; // example value
    
                DisplayOutput();
            }
    
            void DeleteSetting_Click(Object sender, RoutedEventArgs e)
            {
                localSettings.Values.Remove(SettingName);
    
                DisplayOutput();
            }

    SettingContained.xaml.cs中文本输出样式。

     void DisplayOutput()
            {
                bool hasContainer = localSettings.Containers.ContainsKey(containerName);
                bool hasSetting = hasContainer ? localSettings.Containers[containerName].Values.ContainsKey(settingName) : false;
    
                String output = String.Format("Container Exists: {0}\n" +
                                              "Setting Exists: {1}",
                                              hasContainer ? "true" : "false",
                                              hasSetting ? "true" : "false");
    
                OutputTextBlock.Text = output;
            }
  • 相关阅读:
    Java框架之Mybatis(一)
    Java框架之Hibernate(四)
    Java框架之Hibernate(三)
    递归与分治
    散列
    绪论
    系统的分类(二)
    系统的定义与分类(一)
    Guess My Number 游戏
    2.5 随机数的生成
  • 原文地址:https://www.cnblogs.com/virgil/p/2665580.html
Copyright © 2011-2022 走看看