我可以在颤振应用程序中保存本地磁盘数据库吗?文档目录在哪里创建路径?

Posted

技术标签:

【中文标题】我可以在颤振应用程序中保存本地磁盘数据库吗?文档目录在哪里创建路径?【英文标题】:Can I save local disk database inside flutter app? Where does documentsDirectory make path? 【发布时间】:2021-06-02 20:31:41 【问题描述】:

我正在尝试用 Flutter 制作一个测验应用程序。

我使用 DB Browser for SQLite 制作了一个 sample_quiz.db。

我想将位于本地磁盘(C)中的数据库保存在颤振应用程序中。 我永远无法找到路径。 (我同时安装了 path_provider 和路径依赖)

我发现仅用于在 DB_helper.dart 类中使用 CRUD 创建一个新数据库。 但是 CRUD 没有帮助,因为我不需要使用手机创建或删除数据。 我想将自己的数据保存在应用程序中,以便下载我的测验应用程序的每个人都可以看到相同的数据。

我认为它可能位于 lib 或新 dart 文件中的某个位置。 我试图找到getApplicationDocumentsDirectory()的位置,但模拟器内只有路径。

有没有办法将数据库保存在代码文件中? 如何在 Flutter 应用/非模拟器中上传、保存和读取我的数据?

请帮帮我,谢谢。

【问题讨论】:

【参考方案1】:

在你的 Flutter 项目中创建一个文件夹,例如 assets 将您的数据库复制到此文件夹中

在您的pubspec.yaml 文件中

   assets:
     - assets/sample_quiz.db

现在您可以访问您的数据库了

【讨论】:

【参考方案2】:

您可以将数据库打包到一个额外的“资产”文件夹中(与目录处于同一级别)并通过您的代码访问它(意味着解析数据)。

【讨论】:

以上是关于我可以在颤振应用程序中保存本地磁盘数据库吗?文档目录在哪里创建路径?的主要内容,如果未能解决你的问题,请参考以下文章

在 Metro Style 应用程序中保存本地数据

通过共享扩展从图库中保存照片时 NSData WriteToFile 失败

如何在核心数据中保存单个实体

如何以编程方式在 iOS 5 中保存生日日期

如何在 Symfony2 中保存视图中的数据

如何从图像集合中保存视频文件?