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. 《剑指offer》 大数递增

    本题来自<剑指offer> 大数的存储 题目: 针对以下问题:大数的存储.大数的相加.大数的运算. 思路: 当数据较大时候,long long数据已经存储不了,借助数组的方式进行存储. 假 ...

  2. python网络爬虫笔记(八)

    一.pthon 序列化json格式 1.将python内置对象转换成json 模块,dumps()方法返回的是一个str,内容是标准的JSON,dump()方法可以直接吧JSON写入一个file-li ...

  3. inline namespace

    无意中看到C++11中的新特性inline namespace, 先附上官方的解释 Inline namespace The inline namespace mechanism is intende ...

  4. OpenCV trackbar 避免使用全局变量

    OpenCV trackbar 避免使用全局变量 在OpenCV中使用trackbar是交互式地图像处理的一种方式,例如用于图像阈值分割,用户可以一边调整阈值一边看效果.但是很不幸,绝大多数教程上使用 ...

  5. PAT Basic 1073. 多选题常见计分法

    题目内容 多选题常见计分法(20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 批改多选题是比较麻烦的事情,有 ...

  6. TFS: 解决The build agent error - the session for this agent already exists

    来源:http://ericphan.net/blog/2016/6/10/solving-the-tfs-build-agent-error-the-session-for-this-agent-a ...

  7. 删除TFS中的项目

    打开“Team Foundation Server 管理控制台”,选择应用层->团队项目集合->团队项目->点击项目集合名称,最后点击右侧出现的删除按钮

  8. Android Studio运行项目报错:Error:null value in entry: annotationProcessorOutputFolder=null的解决方案

    一般是在Android studio异常退出(比如强制关机)后,重新打开后运行项目出现该问题. 解决方案 删除项目根目录的.gradle文件夹,然后Clean  Project —— Rebulid ...

  9. lojround6

    花团 线段树分治裸题 给出了结束时间跟离线没区别 「LibreOJ Round #6」花火 首先在第一次使用交换是显然的 然后统计逆序对暴力是n^2的(前缀和优化) 因为交换两个点改变的只有x< ...

  10. python全栈开发day72-django之Form组件

    一.ajax 1. 复习JSON 1. JSON是什么? 一种数据格式,和语言无关的数据格式. 2. Python里面转换 1. Python对象 --> 字符串 import json 字符串 ...