Xamarin Essentials教程获取路径文件系统FileSystem

文件系统用于管理设备内的各类文件。通过文件系统,应用程序可以创建永久文件和临时文件,也可以获取预先打包的文件,如预设数据库文件。Xamarin.Essentials的静态类FileSystem提供访问文件系统的部分功能,如获取应用程序目录、缓存数据目录等。本节将讲解该类的使用。

获取路径

在数据读写中,常用的应用程序目录有两个,分别为缓存目录和数据目录。缓存目录用来保存缓存数据。相对临时数据,缓存数据具有更长的生命周期,但不能被当前操作所使用。数据目录用来存储应用程序自身数据,非用户数据文件。这些文件会被设备自带备份功能进行备份。

在FileSystem类中,开发者可以使用CacheDirectory属性来获取应用程序缓存目录,其语法形式如下:

public static string CacheDirectory { get; }

FileSystem类的AppDataDirectory属性可以用来获取应用程序的数据目录,其语法形式如下:

public static string AppDataDirectory { get; }

【示例1-2】下面获取应用程序的缓存目录和数据目录。代码如下:

void FileSystem_Directory()

{

//获取并输出缓存目录

var cacheDir = FileSystem.CacheDirectory;

Console.WriteLine("CacheDirectory={0}", cacheDir);

//获取并输出数据目录

var mainDir = FileSystem.AppDataDirectory;

Console.WriteLine("AppDataDirectory={0}", mainDir);

}

运行程序,会输出以下的内容。

CacheDirectory=/data/user/0/com.companyname.FileSystemFormsDemo/cache

ppDataDirectory=/data/user/0/com.companyname.FileSystemFormsDemo/files

注意:由于平台的差异性,获取的目录也会有所不同。

Android使用CacheDirectory属性,返回CacheDir的绝对路径。使用AppDataDirectory属性,会返回FilesDir的绝对路径。从API 23开始,该目录会被Auto Backup进行备份。

iOS使用CacheDirectory属性,返回库/缓存的目录。使用AppDataDirectory属性,会返回库目录。该目录会被iTunes和iCloud进行备份。

UWP使用CacheDirectory属性,返回应用程序本地缓存目录。使用AppDataDirectory属性,会返回应用程序目录。该目录会被备份到云。

Xamarin Essentials教程获取路径文件系统FileSystem的更多相关文章

  1. Xamarin Essentials教程数据处理传输数据

    Xamarin Essentials教程数据处理传输数据 在移动应用程序中,除了常规的数据处理,还涉及数据存储.数据传输.版本数据多个方面.Xamarin.Essentials组件提供了多个数据处理相 ...

  2. Xamarin Essentials教程打开文件

    Xamarin Essentials教程打开文件 FileSystem类的OpenAppPackageFileAsync()方法可以用来打开App包中特定的文件,其语法形式如下: public sta ...

  3. Xamarin Essentials教程构建共享请求

    Xamarin Essentials教程构建共享请求 共享请求类ShareTextRequest可以用于构建复杂形式的数据,用于向其他应用传输.例如,它可以指定共享内容的主题Subject,用于给邮件 ...

  4. Xamarin Essentials教程地理定位Geolocation

    Xamarin Essentials教程地理定位Geolocation   通过地理定位功能,应用程序可以获取用户的当前地理位置,如经纬度值.利用地理位置,可以在地图上定位,也可以转化物理位置,划分用 ...

  5. Xamarin Essentials教程陀螺仪Gyroscope

    Xamarin Essentials教程陀螺仪Gyroscope   陀螺仪是用来检测设备在X.Y.Z轴上所旋转的角速度.应用程序通过陀螺仪可以获取设备在各个方向的转动角速度,可以实现更为丰富的控制功 ...

  6. Xamarin Essentials教程使用指南针Compass

    Xamarin Essentials教程使用指南针Compass   指南针是一种确定地理方向的工具.在手机应用程序中,指南针通过手机的磁力计确定磁北极,提供手机方向信息.在Xamarin中,开发者可 ...

  7. Xamarin Essentials教程设备信息DeviceInfo

    Xamarin Essentials教程设备信息DeviceInfo   设备信息包括设备类型.设备种类和操作系统.应用程序通过获取设备信息,可以判断当前程序是否适合在该设备上运行.例如,优酷提供TV ...

  8. Xamarin Essentials教程屏幕状态DeviceDisplay

    Xamarin Essentials教程屏幕状态DeviceDisplay   由于移动设备型号众多,采用的显示屏幕也千差万别.为了获取较好的显示效果,应用程序往往需要获取设备的显示状态,如屏幕参数. ...

  9. Xamarin Essentials教程语音播报TextToSpeech

    Xamarin Essentials教程语音播报TextToSpeech   语音播报是一种将文本信息转化为音频信息的技术.使用该技术,开发者可以让用户不用盯着屏幕,就可以获取到信息.例如,支付宝为商 ...

随机推荐

  1. java 自动包装功能

    基本类型直接存储在堆栈中 基本类型所具有的包装容器,使得可以在堆中创建一个非基本对象,用来表示对应的基本类型 基本类型与包装容器类对应如下:boolean Booleanbyte Byte short ...

  2. SCSS 使用@each 方法循环遍历数组颜色并给li赋值

    $list-bg:red,orange,blue,skyblue; ul{ >li{ height: 30px; @each $c in $list-bg{ $i:index($list-bg, ...

  3. python--自己实现的单链表常用功能

    最近一个月,就耗在这上面吧. 很有收获的. # coding = utf-8 # 单向链表 class Node: def __init__(self, new_data): self.data = ...

  4. C#学习-字段

    字段的定义由3部分组成,访问修饰符.字段的类型和字段的名称.以下是 public class Person { //姓名,类型为字符串类型 private string name; //年龄,类型为i ...

  5. 反射PropertyInfo的简单使用

    namespace EF6._0Test { class Program { /// <summary> /// PropertyInfo的简单使用 /// </summary> ...

  6. Nodejs通过账号密码连接MongoDB数据库

    转自https://blog.csdn.net/szu_lzz/article/details/77435804#commentBox 1.创建管理员 首先开启Mongo服务,然后切换admin数据库 ...

  7. 牛客网练习赛t2(线段树)

    题解: 好像因为他说了 数据范围全部在ll以内 所以直接暴力就可以过了 比较正常是用线段树来维护 洛谷上有道模板题是支持加,乘,区间和 而这题还多了区间平方和的操作 按照那题的操作 我们维护的时候保证 ...

  8. 【UOJ244】【UER #7】短路

    题解: 感觉贪心水平有所提高.. 首先比较显然的事情是我们可以枚举最深进行到哪一层 我们会发现,当且仅当该层是最小值才会使用决策, 并且是从该层的左上,走到右下 另外中间步骤就是(好难描述啊)一个单调 ...

  9. Fib数列2 费马小定理+矩阵乘法

    题解: 费马小定理 a^(p-1)=1(mod p) 这里推广到矩阵也是成立的 所以我们可以对(2^n)%(p-1) 然后矩阵乘法维护就好了 模数较大使用快速乘

  10. python之 可迭代 迭代器 生成器

    0. 1.总结 (1) (a)iterable 可迭代(对象) 能力属性 指一个对象能够一次返回它的一个成员,for i in a_list 而不需要通过下标完成迭代. 例子包括所有序列类型(list ...