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