HarmonyOS鸿蒙Next中关于Flutter SQflite路径判断有问题!!!

HarmonyOS鸿蒙Next中关于Flutter SQflite路径判断有问题!!! 我在使用Sqflite,通过指定路径打开一个数据库,代码如下:

Future<Database> initializeDatabase(
{
  required String path,
  required int version,
  bool singleInstance = false
}
)
async {
  return await openDatabase(
    path,
    version: version,
    singleInstance: singleInstance,
    onCreate: (db, version) async {
      // 这里代码就省略掉了
    },
    onUpgrade: (db, oldVersion, newVersion) {},
  );
}

当确定了数据库文件已经创建成功的情况下,使用文件api访问数据库文件:

final sqliteFile = File(path)
print(sqliteFile.existsSync()) // 这里居然打印false

实际我存储的位置是:getApplicationDocumentsDirectory(),按道理说,这个属于应用目录,应该是完全可以访问,不需要任何权限的。

为什么会这样呢?


更多关于HarmonyOS鸿蒙Next中关于Flutter SQflite路径判断有问题!!!的实战教程也可以访问 https://www.itying.com/category-92-b0.html

3 回复
Flutter 3.22,来自鸿蒙先锋队

SQflite版本:[https://gitcode.com/openharmony-sig/flutter_sqflite](https://gitcode.com/openharmony-sig/flutter_sqflite)

更多关于HarmonyOS鸿蒙Next中关于Flutter SQflite路径判断有问题!!!的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


您好,为了更快速解决您的问题,并且吸引更多用户一同参与您问题的解答与讨论,建议您补全如下信息:

补全版本信息,让参与用户更快速复现您的问题;

更多提问技巧,请参考:【Tips】如何提个好问题

在HarmonyOS鸿蒙Next中使用Flutter的SQflite时,路径判断问题可能源于系统文件路径的差异。建议使用getDatabasesPath()方法获取数据库路径,确保跨平台兼容性。同时,检查权限设置,确保应用有读写存储的权限。如果问题依旧,可以尝试手动指定路径,并确保路径在鸿蒙系统中有效。

回到顶部