在 Flutter 桌面版 (Windows) 中加载资源

AVE*_*imi 7 windows sqlite assets flutter sqflite

我正在尝试在 Flutter for Windows 中加载 SQLite DB(它在 Android 上工作),但我收到一个异常,我的代码是:

// Copy from asset
ByteData data = await rootBundle.load(join("assets", "mydb.sqlite"));
List<int> bytes = data.buffer.asUint8List(data.offsetInBytes, data.lengthInBytes);
Run Code Online (Sandbox Code Playgroud)

我收到这个异常:

[错误:flutter/lib/ui/ui_dart_state.cc(199)] 未处理的异常:无法加载资产:assets\mydb.sqlite #0 PlatformAssetBundle.load(包:flutter/src/services/asset_bundle.dart:224:7 ) #1 DatabaseHelper._initDatabase (package:myapp/database_helper.dart:54:11) #2 DatabaseHelper.database (package:myapp/database_helper.dart:29:17) #3 DatabaseHelper.queryAllRows (package:myapp/database_helper.dart) :80:19) #4 _MyHomePageState._query (包:myapp/main.dart:193:15)

Ham*_*ead 0

flutter 窗口中的资源路径也使用 unix 分隔符/not \。不要用于path.join()构建资产路径,而是使用yourStringList.join('/')