问题描述
在我的 Flutter 项目中,我从服务器下载了一个 zip,将其保存在我设备的本地存储中,然后解压缩。所以,文件保存和提取部分是可以的,因为我可以在以下路径中看到我从设备资源管理器下载的文件-
/data/user/0/com.asif.myproject/app_Flutter/sample.db
但是现在的问题是,当我在 dart 中初始化 sqlite 数据库时,它显示了一些异常。代码如下:
class DatabaseHelper {
static final DatabaseHelper _instance = new DatabaseHelper.internal();
factory DatabaseHelper() => _instance;
static Database _db;
Future<Database> get db async {
if (_db != null) {
return _db;
}
_db = await initDb();
return _db;
}
DatabaseHelper.internal();
initDb() async {
Directory documentDirectory = await getApplicationDocumentsDirectory();
String path = join(documentDirectory.path,"sample.db");
ByteData data = await rootBundle.load(join(documentDirectory.path,'sample.db'));
List<int> bytes = data.buffer.asUint8List(data.offsetInBytes,data.lengthInBytes);
await new File(path).writeAsBytes(bytes);
var ourDb = await openDatabase(path);
return ourDb;
}
}
因此,对于此代码,当我尝试初始化我的 sqlite 数据库时,它显示了以下异常-
**
[错误:Flutter/lib/ui/ui_dart_state.cc(186)] 未处理的异常: 无法加载资产: /data/user/0/com.asif.myproject/app_Flutter/sample.db
**
注意:我在 manifest 文件中添加了读写权限,如下所示:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
因此,我需要一个解决方案来从上述路径初始化 sqlite 数据库,以便我可以执行有关该数据库的所有必要查询。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)