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. 用echarts写的轨迹图demo

    轨迹图预览: [下载地址]:https://github.com/zhangzn3/trail-graph.git

  2. 对于stark(curd)插件的使用简单介绍

    一.创建表 from django.db import models from django.db import models class Department(models.Model): &quo ...

  3. axure—日期函数

    日期函数 日期函数中实现倒计时的关键点:1)gettime()函数可以取到1970年1月1日的时间,我们用倒计时结束的时间减去当前时间就能得到倒计时需要循环显示的所有时间.2)此处的“d”是倒计时结束 ...

  4. springboot 集成mongodb

    环境依赖 在pom文件引入spring-boot-starter-data-mongodb依赖: <dependency> <groupId>org.springframewo ...

  5. ubuntu下使用matplotlib绘图无法显示中文label

    原因是字体导致的.大家的做法基本都是搞一个windows上的字体文件(simhei.ttf, 点我fq下载)然后刷新一下缓存文件. 只不过百度搜到第一篇CSDN的博客,写的很不靠谱(不是所有的CSDN ...

  6. git报错处理

    今天又遇到了这个问题,记录一下. 报错 原因及解决办法: 本文作者starof,因知识本身在变化,作者也在不断学习成长,文章内容也不定时更新,为避免误导读者,方便追根溯源,请诸位转载注明出处:http ...

  7. python排列组合之itertools模块

    1. 参考 几个有用的python函数 (笛卡尔积, 排列, 组合) 9.7. itertools — Functions creating iterators for efficient loopi ...

  8. mysql排序(四)

    MySQL 排序 我们知道从 MySQL 表中使用 SQL SELECT 语句来读取数据. 如果我们需要对读取的数据进行排序,我们就可以使用 MySQL 的 ORDER BY 子句来设定你想按哪个字段 ...

  9. @+id/和android:id有什么区别?

    Any View object may have an integer ID associated with it, to uniquely identify the View within the ...

  10. sparkStreaming消费kafka-1.0.1方式:direct方式(存储offset到zookeeper)-- 2

    参考上篇博文:https://www.cnblogs.com/niutao/p/10547718.html 同样的逻辑,不同的封装 package offsetInZookeeper /** * Cr ...