Flutter中如何查看ObjectBox数据库的存储内容?
查看Flutter ObjectBox数据库内容、表数量及条目总数的操作步骤
一、代码层面快速查询(无需额外工具)
适合快速验证数据情况,直接在Flutter代码中实现:
1. 获取表数量与总条目数
利用ObjectBox的BoxStore实例API,就能直接获取数据库的基础统计信息:
import 'package:objectbox/objectbox.dart'; import 'your_entity_files.dart'; // 导入你的实体类 void printDbStats(BoxStore store) { // 数据库内的表(实体)数量 final tableCount = store.allBoxes.length; print("数据库表数量: $tableCount"); // 遍历所有表,统计每个表的条目数及总条目数 int totalEntries = 0; for (final box in store.allBoxes) { final entryCount = box.count(); final entityName = box.entity.name; print("[$entityName] 表条目数: $entryCount"); totalEntries += entryCount; } print("数据库总条目数: $totalEntries"); }
调用时只需传入已初始化的BoxStore实例即可。
2. 查询单表内的具体数据
通过对应实体的Box实例,可直接获取所有数据或执行条件查询:
// 示例:获取Note实体表的所有数据 final noteBox = store.box<Note>(); final allNotes = noteBox.getAll(); // 打印每条数据详情 for (var note in allNotes) { print("Note ID: ${note.id}, 内容: ${note.content}, 创建时间: ${note.createTime}"); } // 条件查询示例:获取ID大于5的Note final query = noteBox.query(Note_.id > 5).build(); final filteredNotes = query.find(); query.close(); // 记得关闭查询释放资源
二、可视化工具查看(直观高效)
如果需要更直观的界面查看数据结构和内容,推荐用官方工具或手动导出文件查看:
1. 官方ObjectBox Admin(推荐)
这是官方提供的可视化管理工具,支持实时查看和操作数据库:
- 在
pubspec.yaml的dev_dependencies中添加依赖:dev_dependencies: objectbox_admin: ^latest_version - 在应用初始化时启动Admin(仅在Debug模式下启用):
import 'package:flutter/foundation.dart'; import 'package:objectbox/objectbox.dart'; import 'package:objectbox_admin/objectbox_admin.dart'; void main() { final store = openStore(); // 初始化你的BoxStore if (kDebugMode) { Admin(store); // 启动Admin服务 } runApp(const MyApp()); } - 运行应用后,控制台会输出一个本地访问地址(如
http://127.0.0.1:8090),在浏览器打开该地址即可:- 查看所有实体表结构
- 浏览、搜索表内数据
- 执行增删改查操作
2. 手动导出数据库文件查看
如果无法使用Admin,可手动找到数据库文件后用工具打开:
Android设备
- 打开Android Studio的「Device File Explorer」
- 导航到应用路径:
data/data/你的应用包名/files/objectbox - 下载
data.mdb文件到本地,用ObjectBox Admin打开
iOS设备
- 在Xcode中运行应用,打开
Window > Devices and Simulators - 选中你的设备和应用,点击「Download Container...」导出应用容器
- 右键导出的容器选择「显示包内容」,进入
AppData/Documents/objectbox找到data.mdb - 用ObjectBox Admin打开文件
桌面平台(Windows/macOS/Linux)
- 数据库文件默认位于应用的文档目录下的
objectbox文件夹中 - 找到
data.mdb文件后,用ObjectBox Admin打开
内容的提问来源于stack exchange,提问作者amit.flutter
相关产品推荐
相关产品推荐

