怎样在你的Flutter应用中加入ObjectBox Admin Web App

ObjectBox是一个速度超快的移动/边缘数据库,可应用于移动设备、车辆以及各种IOT设备的本地存储。

ObjectBox Admin Web App(前身是ObjectBox Data Browser)被用来查看设备中ObjectBox数据库的数据和表,导出JSON格式的数据。

以下配置只针对安卓应用

配置及代码改动

建议只在调试版本中使用ObjectBox Admin Web App,不要在生产版本中使用。

1. 修改文件:android/app/build.gradle

添加如下代码:

configurations {
    debugImplementation {
        exclude group: 'io.objectbox', module: 'objectbox-android'
    }
}

dependencies {
    // 其他依赖忽略
    debugImplementation 'io.objectbox:objectbox-android-objectbrowser:3.1.3'
}

注意

例子中使用objectbox-android-objectbrowser的3.1.3版本

查看最新版本访问 https://github.com/objectbox/objectbox-dart/releases

版本应该匹配你当前使用的objectbox-android版本

2. 创建store之后,启动Admin

late Store store;
late Admin admin;

Future main() async {
  // This is required so ObjectBox can get the application directory
  // to store the database in.
  WidgetsFlutterBinding.ensureInitialized();

  store = await openStore();

  if (Admin.isAvailable()) {
    // Keep a reference until no longer needed or manually closed.
    admin = Admin(store);
  }
  runApp(App());
}

可选项:可以在未来某个时间点使用 admin.close() 关闭Admin

注意:objectbox-android-objectbrowser会自动向AndroidManifest.xml中增加权限。不需要手动添加。





如果objectbox-android-objectbrowser只在调试版本中使用(参照1的build.gradle),这两个权限不会被加入到生成版本中。

在设备上打开ObjectBox Admin Web App

启动你的应用,查看日志。

I/Box     ( 3805): [SvHttp] Running in single-store mode with an already opened store
I/Box     ( 3805): [SvHttp] Listening on http://127.0.0.1:8090
I/Box     ( 3805): [SvHttp] User management: disabled
I/Box     ( 3805): [SvHttp] HttpServer listening on 127.0.0.1, port 8090

上面是我的日志

在设备上打开 http://127.0.0.1:8090

在开发机上打开ObjectBox Admin Web App

在设备上边调试边看数据不是很方便,使用下面的ADB命令将设备的端口映射到开发机上。

adb forward tcp:8090 tcp:8090

在开发机上打开 http://127.0.0.1:8090

你可能感兴趣的:(怎样在你的Flutter应用中加入ObjectBox Admin Web App)