怎样在你的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<void> 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中增加权限。不需要手动添加。

<!-- Required to provide the web interface -->
<uses-permission android:name="android.permission.INTERNET" />
<!-- Required to run keep-alive service when targeting API 28 or higher -->
<uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>

如果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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容