写点什么

Flutter+ 鸿蒙 NEXT 开发获取系统文件路径

作者:flfljh
  • 2024-11-05
    湖南
  • 本文字数:1373 字

    阅读完需:约 5 分钟

Flutter+鸿蒙 NEXT 开发获取系统文件路径

在具体的开发过程中,有时需要获取临时目录、文档目录等需求.本文具体讲解怎么在 Flutter 中可以利用 path_provider 插件来完成此项工作,OpenHarmony SIG 组织对该插件做了鸿蒙 NEXT 系统的适配,接下来将详细讲解如何利用 path_provider 插件来获取系统文件路径。


在引用的项目中,pubspec.yaml 中 dependencies 新增配置:


dependencies:  path_provider:    git:      url: "https://gitee.com/openharmony-sig/flutter_packages.git"      path: "packages/path_provider/path_provider"
复制代码


项目根目录运行flutter pub get;(ohos/entry/oh-package.json5 会自动添加如下相关插件 har 依赖)


{  "name": "entry",  "version": "1.0.0",  "description": "Please describe the basic information.",  "main": "",  "author": "",  "license": "",  "dependencies": {    "@ohos/flutter_ohos": "file:../har/flutter.har",    "integration_test": "file:../har/integration_test.har",    "path_provider_ohos": "file:../har/path_provider_ohos.har"  }}
复制代码


导入 path_provider 插件


在需要使用 path_provider 插件的 dart 文件中,使用下面的代码导入插件:


import 'package:path_provider_platform_interface/path_provider_platform_interface.dart';
复制代码


获取系统路径一些基本使用:


    final PathProviderPlatform provider = PathProviderPlatform.instance;    Future<String?>? _tempDirectory;  Future<String?>? _appSupportDirectory;  Future<String?>? _appDocumentsDirectory;  Future<String?>? _appCacheDirectory;  Future<String?>? _externalDocumentsDirectory;  Future<List<String>?>? _externalStorageDirectories;  Future<List<String>?>? _externalCacheDirectories;  Future<String?>? _downloadsDirectory;      void _requestTempDirectory() {    setState(() {      _tempDirectory = provider.getTemporaryPath();    });  }    void _requestAppDocumentsDirectory() {    setState(() {      _appDocumentsDirectory = provider.getApplicationDocumentsPath();    });  }
void _requestAppSupportDirectory() { setState(() { _appSupportDirectory = provider.getApplicationSupportPath(); }); }
void _requestAppCacheDirectory() { setState(() { _appCacheDirectory = provider.getApplicationCachePath(); }); }
void _requestExternalStorageDirectory() { setState(() { _externalDocumentsDirectory = provider.getExternalStoragePath(); }); }
void _requestExternalStorageDirectories(StorageDirectory type) { setState(() { _externalStorageDirectories = provider.getExternalStoragePaths(type: type); }); }
void _requestExternalCacheDirectories() { setState(() { _externalCacheDirectories = provider.getExternalCachePaths(); }); }
void _requestDownloadsDirectory() { setState(() { _downloadsDirectory = provider.getDownloadsPath(); }); }
复制代码


以上就是 Flutter+鸿蒙 NEXT 开发获取系统文件路径具体实现.


发布于: 刚刚阅读数: 2
用户头像

flfljh

关注

还未添加个人签名 2024-10-29 加入

还未添加个人简介

评论

发布
暂无评论
Flutter+鸿蒙NEXT开发获取系统文件路径_鸿蒙_flfljh_InfoQ写作社区