应用设置由于数据量和数据类型的限制,有很大的局限性,所以还需要应用文件存储,以文件的方式存储数据。在每个应用的应用数据存储中,该应用拥有系统定义的根目录:一个用于本地文件,一个用于漫游文件,还有一个用于临时文件。应用可向根目录添加新文件和新目录。文件存储和应用设置的层次限制是一样的,最多可以嵌套32层深,而树的宽度是没有限制的。

1)本地应用文件

   本地应用是只存储在客户端的存储数据,所存储的数据没有总大小限制,并存储的区域是属于程序的沙盒,只有应用程序自己可以访问,其他程序无法访问,这样可以保证程序的安全性。由于本地应用文件是属于应用程序自己的存储文件,当应用程序卸载之后,这些数据也会删除。本地应用文件的根目录可以通过 ApplicationData 对象的 LocalFolder属性来访问,即ApplicationData.Current.LocalFolder 类型为StroageFolder对象。

2) 漫游应用文件(ApplicationData.Current.RoamingFolder)

漫游应用文件是指在同一账号登陆的不同设备中共享的数据,用户可以轻松地在多个设备之间保持应用的应用数据同

步。可以通过ApplicationData对象的RoamingFolder属性来访问,即

ApplicationData.Current.RoamingFolder。

  a. 漫游数据大小有限制

大小由ApplicationData类的RoamingStorageQuota属性决定,RoamingStorageQuota属性表示获取可从漫游应

用程序数据存储区同步到云的数据的最大大小。所以,最好是仅为用户首选项、链接和小型数据文件使用漫游数据。

  b. 数据改变需同步,及时回应

如果需要在程序中监控漫游数据的变化,应该注册处理ApplicationData类的DataChanged事件,处理操作在漫游

应用数据更改时执行。

  c. 数据版本的统一性

在设备上更新应用之前,系统不会将应用数据更新到用户安装了该应用的其他设备。

  d. 漫游数据有时间限制

漫游数据不是可以无限期同步的,有30天的时间间隔的限制。当然用户在这期间先卸载应用再安装应用,只要不超过

时间间隔,依然可以在云中同步漫游数据。

  e. 漫游数据同步的时机依赖于网络和设备

系统会随机漫游应用数据,但不会保证及时同步。当设备没有联网或者网络高度延迟时,漫游也会明显延迟。当然,

可以通过一个特殊的设置键来设置一个高优先级别的漫游设置数据。

这个高优先级别的Key为HighPriority,系统会以更快的速度在多个设备间同步HighPriority所对应的数据。它也支持

ApplicationDatCompositeValue数据,但大小限制在8KB,当超过此限制时,将被是为常规漫游设置。

3)临时应用文件(ApplicationData.Current.TemporaryFolder)

临时应用数据存储类似缓存,不会漫游,随时可以被删除,所以临时文件通常用于存储一些非重要性的临时文件信

息。临时应用文件的根目录文件夹可以通过ApplicationData类的TemporaryFolder属性来访问,即是

ApplicationData.Current.TemporaryFolder

获取应用文件根目录的方式,2种:

1. 除了上面提到的获取这三种根目录的方式,利用ApplicatonData类来获取:
ApplicationData.Current.LocalFolder-----本地文件夹
ApplicationData.Current.RoamingFolder-----漫游文件夹
ApplicationData.Current.TemporaryFolder-----临时文件夹

2. 还可以利用应用文件的URI方案获取。

========================================

操作数据存储,实际上就是操作应用文件和应用文件夹。有StorageFile类和StorageFolder类可供操作。

1,创建文件夹和文件

//未完待续

UWP开发:应用文件存储的更多相关文章

  1. IOS开发--数据持久化篇之文件存储(一)

    前言:个人觉得开发人员最大的悲哀莫过于懂得使用却不明白其中的原理.在代码之前我觉得还是有必要简单阐述下相关的一些知识点. 因为文章或深或浅总有适合的人群.若有朋友发现了其中不正确的观点还望多多指出,不 ...

  2. android 开发-数据存储之文件存储

    android的文件存储是通过android的文件系统对数据进行临时的保存操作,并不是持久化数据,例如网络上下载某些图片.音频.视频文件等.如缓存文件将会在清理应用缓存的时候被清除,或者是应用卸载的时 ...

  3. Android开发--数据存储之File文件存储

    转载来自:http://blog.csdn.net/ahuier/article/details/10364757,并进行扩充 引言:Android开发中的数据存储方式 Android提供了5种方式存 ...

  4. iOS开发——数据持久化Swift篇&通用文件存储

    通用文件存储 import UIKit class ViewController: UIViewController { @IBOutlet weak var textField: UITextFie ...

  5. Android开发手记(17) 数据存储二 文件存储数据

    Android为数据存储提供了五种方式: 1.SharedPreferences 2.文件存储 3.SQLite数据库 4.ContentProvider 5.网络存储 本文主要介绍如何使用文件来存储 ...

  6. android 开发-文件存储之读写sdcard

    android提供对可移除的外部存储进行文件存储.在对外部sdcard进行调用的时候首先要调用Environment.getExternalStorageState()检查sdcard的可用状态.通过 ...

  7. Win10 UWP 开发系列:使用SQLite

    在App开发过程中,肯定需要有一些数据要存储在本地,简单的配置可以序列化后存成文件,比如LocalSettings的方式,或保存在独立存储中.但如果数据多的话,还是需要本地数据库的支持.在UWP开发中 ...

  8. Win10/UWP开发—使用Cortana语音与App后台Service交互

    上篇文章中我们介绍了使用Cortana调用前台App,不熟悉的移步到:Win10/UWP开发—使用Cortana语音指令与App的前台交互,这篇我们讲讲如何使用Cortana调用App的后台任务,相比 ...

  9. Win10/UWP开发-Ink墨迹书写

    在UWP开发中,微软提供了一个新型的InkCanvas控件用来让用户能书写墨迹,在新版的Edga浏览器中微软自己也用到了该控件使用户很方便的可以在web上做笔记. InkCanvas控件使用很简单,从 ...

随机推荐

  1. HDU 3549 Flow Problem (最大流ISAP)

    Flow Problem Time Limit: 5000/5000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others)Tota ...

  2. 2018年第九届蓝桥杯国赛试题(JavaA组)

    1.结果填空 (满分13分)2.结果填空 (满分39分)3.代码填空 (满分27分)4.程序设计(满分45分)5.程序设计(满分71分)6.程序设计(满分105分) 1.标题:三角形面积 已知三角形三 ...

  3. Codeforces Round #360 (Div. 1)A (二分图&dfs染色)

    题目链接:http://codeforces.com/problemset/problem/687/A 题意:给出一个n个点m条边的图,分别将每条边连接的两个点放到两个集合中,输出两个集合中的点,若不 ...

  4. 记录错误:tomcat“socket close”错误

    Error running 'Tomcat 8.5.37': Unable to open debugger port (127.0.0.1:9562) 使用打开cmd.exe 输入 1)taskli ...

  5. SpringBoot配置属性二

    server配置 server.address指定server绑定的地址 server.compression.enabled是否开启压缩,默认为false. server.compression.e ...

  6. null is not an object (evaluating 'Picker._init')

    安装完react-native-picker后,init出现报错,其实是原生配置还没完全生效,重启项目就可以了

  7. C# 操作 Excel 文件(.xls 或 .xlsx)

    在.net中,常用的操作excel文件的方式,有三种: OLE DB的形式, 第三方框架NPOI, Office组件. 总结: 通过对比,在读取大数据量的excel文件,建议用OLE DB的形式,把e ...

  8. JavaScript进阶 - 第5章 小程序,大作用(函数)

    5-1什么是函数 函数的作用,可以写一次代码,然后反复地重用这个代码. 如:我们要完成多组数和的功能. var sum;   sum = 3+2; alert(sum);   sum=7+8 ; al ...

  9. VxWorks实验六 基于优先级的抢占式调度及实验的源程序和实验步骤

    基于优先级的抢占式调度及实验的源程序和实验步骤 1 实验目的    1.学习并验证基于优先级的抢占式调度2 实验内容    在实验一建立的 project 中,创建3 个任务,对这三个任务使用基于优先 ...

  10. STP-12-MST工作原理

    MST将网络划分为一或多个区域.一个MST区域是一组以相同方式共同使用MST的交换机——除了其他特性外,它们运行相同数量的MST实例,并在这些实例上映射相同的VLAN集合. 例如,在下图中,工程师定义 ...