mav*_*v91 6 dart flutter flutter-hive
这可能是显而易见的,但有人可以告诉我如何使用 Android Studio 在 Flutter 应用程序中初始化 Hive 后找到我的 Hive Box 文件吗?
我已遵循此处的文档 - https://docs.hivedb.dev/#/README - 我的基本实现工作正常,但我找不到 Box 文件或任何与此相关的 Hive 文件的存储位置。
我希望能够在 Android Studio 中找到我的 Box(数据库)在我的项目中的位置,以便我可以查看数据库的内容并确认它存在于正确的位置
这是我的代码,我在其中初始化 Hive 并打开一个盒子
void main() async {
// Initialise Hive
await Hive.initFlutter('hiveusersfolder');
runApp(MyApp());
var box = await Hive.openBox('hiveusersfolder');
box.put('name', 'MyName');
print('Name: ${box.get('MyName')}');
}
Run Code Online (Sandbox Code Playgroud)
上面的代码存在于我的 main.dart 文件中
我在 Ubuntu 上使用 Android Studio。
*编辑更新
我已经找到了 Box 存储位置的假定路径,但是当使用 Android Studio Navigate > Search Everywhere 时 - 在此文件夹/路径中找不到任何内容。初始化我的数据库并将用户添加到框中后,我应该能够看到一个框文件并查看用户,就像使用任何其他类型的数据库一样,不是吗?
这是路径 /data/user/0/myappv1.myappv1/app_flutter
我尝试了无效缓存+重新启动,但仍然没有任何结果
如果问题出在 Android Studio 搜索上,如何在 Ubuntu 文件资源管理器上访问上述路径?或者使用命令行?
小智 6
文档中明确指出
/// Initializes Hive with the path from [getApplicationDocumentsDirectory].
///
/// You can provide a [subDir] where the boxes should be stored.
Future<void> initFlutter([String? subDir]) async {
Run Code Online (Sandbox Code Playgroud)
通过从“文件”>“项目结构”中选择项目 SDK 解决了此问题
然后,我必须确保我使用的 Android 虚拟设备的系统映像不支持 Google Play 商店(我认为使用 Android 8 的 Pixel 2XL,只是选择了没有 Play 的任何东西)。
存在一个问题,如果您使用加载了 Google Play 的 AVD,您将无法访问 Hive 放置 .hive 文件的默认文件夹
默认情况下,至少在使用 Flutter 的 Android 上,您的 Hive 文件似乎进入此路径 - /data/user/0/yourapplicationv1.yourapplicationv1/app_flutter
希望这可以帮助任何遇到同样问题的人
| 归档时间: |
|
| 查看次数: |
7954 次 |
| 最近记录: |