gpt4 book ai didi

flutter - path 和 path_provider 有什么区别?

转载 作者:行者123 更新时间:2023-12-05 01:59:42 25 4
gpt4 key购买 nike

我目前正在使用 path_provider 包在我的 main.dart 中初始化 Hive:

final appDocumentDirectory = await pathProvider.getApplicationDocumentsDirectory();
Hive.init(appDocumentDirectory.path);

我想从我的 Assets 文件夹中嵌入一个本地数据库文件,并遵循了 Youtube 教程(Link),其中他使用 path 包将 databasePath 与数据库文件“连接” .这是代码:

_db = await openDatabase('assets/trails.db');
var databasePath = await getDatabasesPath();
var path = join(databasePath,'trails.db');

文档说:

  • path:路径包提供了操作路径的常用操作:连接、拆分、归一化等。
  • path_provider:用于查找文件系统上常用位置的 Flutter 插件。

但我现在的问题是,这两个包之间到底有什么区别?我是否可以从我的 pubspec.yaml 文件中删除其中一个并为两个用例使用一个包(以避免样板代码)?

最佳答案

我认为答案是否定的。

path 是一个操作路径的包:连接路径、转换为绝对路径、添加前缀、获取路径信息等。

path_provider 专用于更具体的操作系统操作,例如下载、临时文件、应用程序文档根据操作系统存储在不同的位置(显然,Android 中的文件结构不同于 iOS、Windows、Linux 等)。

为了比较这两者,包有不同的用途 - path 实际“处理”路径,而 path_provider,嗯,为您提供基于资源的准确路径操作系统。因此,您不能将一个替换为另一个,如果您需要同时使用两者,仅此而已,只需同时使用它们即可。

关于flutter - path 和 path_provider 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67660498/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com