flutter插件 - path_provider(获取APP路径)

简介

官方文档

androidios下,临时目录、文档目录这些都是不同的。

path_provider插件提供了统一的接口获取手机上的常用目录,比如:临时目录、文档目录等。从而方便程序存储和访问指定目录下的文件。

仅仅只是用于获取路径,并没有操作文件和目录的功能,需要搭配DirectoryFile等进行操作。

主要提供了如下几个方法用于获取存储路径:

  • getTemporaryDirectory():获取临时文件夹,针对于 Android 设备 getCacheDir()iOS 设备 NSTemporaryDirectory() 返回的值
  • getApplicationDocumentsDirectory():获取 Document 文件夹,针对 Android 设备的 AppDate 目录,iOS 设备的 NSDocumentDirectory 目录
  • getApplicationSupportDirectory:获取应用支持目录
  • getLibraryDirectory:获取应用持久存储目录路径,只有 iOS 设备可用
  • getExternalStorageDirectory(): 获取存储卡目录,只有 Android 设备可用
  • getExternalStorageDirectories(type: type):获取外部存储目录列表,只有 Android 设备可用
  • getExternalCacheDirectories():获取外部缓存目录,只有 Android 设备可用

使用

  • 修改pubspec.yaml文件,添加依赖path_provider
# ... dev_dependencies: # ... path_provider: ^1.6.18 # ...
  • 代码中使用
import 'package:path_provider/path_provider.dart'; // 获取临时文件路径(IOS和安卓通用) // 不会备份并且随时会被删除的临时目录 getTemporaryDirectory().then((value) => print(value)); // 获取应用文件目录(IOS和安卓通用) // 用于放置用户生成的数据或不能有应用程序重新创建的数据 用户不可见 getApplicationDocumentsDirectory().then((value) => print(value)); // 获取应用支持目录(IOS和安卓通用) // 用于存储应用支持的目录 这个目录对于用户是不可见的 getApplicationSupportDirectory().then((value) => print(value)); // 获取应用持久存储目录路径(仅IOS可用) // 应用程序可以存储持久化、备份和用户不可见的文件的目录路径 getLibraryDirectory().then((value) => print(value)); // 获取外部存储目录(仅安卓可用) // 获取外部存储目录 用户可见 getExternalStorageDirectory().then((value) => print(value)); // 获取外部存储目录列表(仅安卓可用) // 可以存储应用程序特定数据的目录 // 这些路径通常驻留在外部存储上 用户可见 如单独的分区或SD卡(可以有多个 所以是列表) getExternalStorageDirectories().then((value) => print(value)); // 获取外部缓存目录(仅安卓可用) // 可以存储应用程序特定外部存储数据的目录 // 这些路径通常驻留在外部存储上,如单独的分区或SD卡(可以有多个 所以是列表) getExternalCacheDirectories().then((value) => print(value)); // 获取下载目录(仅桌面可用 安卓和IOS报错) getDownloadsDirectory().then((value) => print(value));

创作不易,若本文对你有帮助,欢迎打赏支持作者!

 分享给好友: