码迷,mamicode.com
首页 > 移动开发 > 详细

wp8.1 Study10:APP数据存储

时间:2014-12-15 06:30:31      阅读:211      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   io   ar   color   使用   sp   on   

一、理论

1、App的各种数据在WP哪里的?

下图很好介绍了这个问题。有InstalltionFolder, knownFolder, SD Card...

bubuko.com,布布扣

2、一个App数据存储概览

主要分两大部分,InstallationFolder和App Data Folder

bubuko.com,布布扣

 

3、Windows.Storage.ApplicationData  和  Windows.Security.Credentials简述

bubuko.com,布布扣

 

其中利用Windows.Storage.ApplicationData,我们可以获得3种不同的wp中文件夹和2种设置保存字典,C#操作如下

 Windows.Storage.StorageFolder roam = Windows.Storage.ApplicationData.Current.RoamingFolder;
 Windows.Storage.StorageFolder local = Windows.Storage.ApplicationData.Current.LocalFolder;
 Windows.Storage.StorageFolder temp = Windows.Storage.ApplicationData.Current.TemporaryFolder;

 Windows.Storage.ApplicationDataContainer localSettings = Windows.Storage.ApplicationData.Current.LocalSettings;
 Windows.Storage.ApplicationDataContainer roamingSettings = Windows.Storage.ApplicationData.Current.RoamingSettings;

 

二、Local Folder 和 Local Setting

1、LocalSetting使用,C#代码如下:

// Create a simple setting
localSettings.Values["exampleSetting"] = "Hello Windows";

// Read data from a simple setting
Object value = localSettings.Values["exampleSetting"];

if (value == null)
{
    // No data
}
else
{
    // Access data in value
}

// Delete a simple setting
localSettings.Values.Remove("exampleSetting");

2、LocalFolder使用,C#代码如下:

  private async void writeTextToLocalStorageFile(string filename, string text)
        {
            var fold = Windows.Storage.ApplicationData.Current.LocalFolder;//打开文件夹
            StorageFile file = await fold.CreateFileAsync(filename, CreationCollisionOption.ReplaceExisting);//创建个文件
            await FileIO.WriteTextAsync(file, text);//在文件里面写内容
        }

        private async Task<string> readTextFromLocalStorage(string filename)
        {
            var fold = Windows.Storage.ApplicationData.Current.LocalFolder;//打开文件夹
            StorageFile file = await fold.GetFileAsync(filename);//打开对应的文件
            string result = await FileIO.ReadTextAsync(file);//读取文件里面的内容
            return result;
        }

Note:这里对文件的操作是十分简单的,步骤是在电脑管理文件的步骤是类似的。

 

三、Roaming Setting 和Roaming Folder

如果用户在多个设备上安装了你的程序,如果所有的设备可以共享相同的设置信息是很好的体验。而Roaming data提供了一个应用程序可以在多个不同的物理设备同步数据和设置方法。它以一个文件夹和设置字典的形式自动存储在用户的OneDrive。Roaming data的大小限制于ApplicationData.RoamingStorageQuota(一般是100k左右,但它不会占用你Onedrive的空间大小)。其同步过程图如下:

bubuko.com,布布扣

  Roaming Setting 和Roaming Folder的操作方式与上面的Local Folder 和 Local Setting操作方式一样,在这不一一介绍。但是需要在不同设备中监视Roaming data的改变事件。C#代码如下:

Windows.Storage.ApplicationData.Current.DataChanged += Current_DataChanged;
...

void Current_DataChanged(ApplicationData sender, object args)
{
    // Refresh your settings...
}

  数据的同步是发生在后台的。

四、几种不同方式获取文件的方式

bubuko.com,布布扣

 

wp8.1 Study10:APP数据存储

标签:style   blog   http   io   ar   color   使用   sp   on   

原文地址:http://www.cnblogs.com/NEIL-X/p/4164048.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!