App的各种数据在WP哪里的

一、理论

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

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

2、一个App的数据存储概览

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

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

其中利用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的空间大小)。其同步过程图如下:

  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...
}

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

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

时间: 2024-10-29 09:59:07

App的各种数据在WP哪里的的相关文章

UWP开发:APP之间的数据交互(以微信为例)

目录 说明 UWP应用唤醒方式 跟微信APP交互数据 APP之间交互数据的前提 说明 我们经常看到,在手机上不需要退到桌面,APP之间就可以相互切换,并且可以传递数据.比如我在使用知乎APP的时候,需要使用新浪微博账号登录,点击“微博登录”后,系统自动唤醒新浪微博APP,并将知乎请求登录的数据传给了微博APP(微博APP界面上可以看到是知乎请求登录授权),见下图:    如上所示,依次点击“微博登录”.“确定”,手机界面自动来回切换,不需要人为干预.另外,如果我们在知乎看到一篇有意思的文章,需要

开源 免费 java CMS - FreeCMS2.0 移动APP生成信息数据

项目地址:http://www.freeteam.cn/ 生成信息数据 生成当前管理站点下允许移动APP访问的栏目的信息页面. 从左侧管理菜单点击生成信息数据进入. 您可以选择需要生成的栏目,然后点击"生成信息数据"进行信息页数据的静态化. 如果您是此站点的总管理员,您也可以把"是否所有栏目"属性选择为是,点击"生成信息数据"完成对此站点所有栏目的信息页数据的静态化. 系统会在此站点目录/mobile/栏目id/info/YYYY/目录下生成以信

在 App 扩展和主 App 间共享数据

tags: iOS 8,Swift,App Groups 随着 iOS 8 的发布,苹果为广大开发者很多新的 API,其中最突出显著的就非 App Extension 莫属了.这为开发者们又带来了很多机会. 而我们在开发 App Extension 的时候,基本大多数人都会遇到这样一个问题.就是由于 App Store 的规则是 App Extension 不能独立的发布,而是要跟随一个宿主应用一起发布. 比如奇妙清单: {% img figures /images/extension_1.jp

诸葛:移动产品经理需要跟踪app的哪些数据?

数据是一个产品每天都要盯着的东西,虽说数字也会撒谎,但是在产品设计中数据,常常作为辅助设计决策和与研发沟通的必不可少的东西之一.一.移动产品经理需要跟踪app的哪些数据? 在做数据分析之前,对移动产品人员来说,诸葛认为首先要了解在移动互联网领域,我们需要关注那些数据呢?讨论发现,不同的产品关注的数据数据分为:基本数据.跟产品类别无关的数据和跟产品类别相关的数据.基础数据:下载量.激活量.新增用户量.活跃用户社交:用户分布.用户留存(次日.3日.7日.月.次月.3月)电商:淘宝指数.网站流量.内容

开源 免费 java CMS - FreeCMS2.0 移动APP生成栏目数据

项目地址:http://www.freeteam.cn/ 生成栏目数据 生成当前管理站点下允许移动APP访问的栏目的栏目页面. 从左侧管理菜单点击生成栏目数据进入. 您可以选择需要生成的栏目,然后点击"生成所选栏目数据"进行栏目页数据的静态化. 如果您是此站点的总管理员,您也可以点击"生成此站点所有栏目数据"完成对此站点所有栏目页数据的静态化. 系统会在此站点目录下创建一个以栏目id为名字的文件夹用于存放此栏目的静态化页面. 可以设置生成前多少页,如设置只生成前10

开源 免费 java CMS - FreeCMS2.0 移动APP生成首页数据

项目地址:http://www.freeteam.cn/ 生成首页数据 提取当前管理站点下允许移动APP访问的首页数据,生成json数据到/site/站点目录/mobile/index_页数.html页面. 从左侧管理菜单点击生成首页数据进入. 点击确定即可. 开源 免费 java CMS - FreeCMS2.0 移动APP生成首页数据

App的前后台数据同步

前言 在开发一个点餐软件时,app的订单数据是使用本地Sqlite数据库,在提交订单数据后,当订单数据在后台(Mysql数据库)发生变化时(如:已买单),本地数据如何改变呢? 思路 前台在查询时,将后台订单数据以数组方式发送到前台进行更新(update) 实现 (...)

android中的HttpURLConnection和HttpClient实现app与pc数据交互

自学android的这几天很辛苦,但是很满足,因为每当学到一点点知识点都会觉得很开心,觉得今天是特别有意义的,可能这个就是一种莫名的热爱吧. 下面来说说今天学习的HttpURLConnection和HttpClient的区别吧,其实这2种都能进行客户端和服务器的数据交互,只是HttpClient封装的更完全. 先看下案例吧 第一种HttpURLConnection访问服务器: 客服端代码: package com.example.demo01; import java.io.IOExceptio

winform中读取App.config中数据连接字符串

1.首先要在工程引用中导入System.Configuration.dll文件的引用. 2.通过System.Configuration.ConfigurationManager.ConnectionStrings["connectionstring"].ToString(); 就能得到App.config中的数据库连接字符串 而不能通过ConfigurationSettings.AppSettings["connectionstring"].ToString();