ObjectBox是一個(gè)速度超快的移動(dòng)/邊緣數(shù)據(jù)庫(kù)展融,可應(yīng)用于移動(dòng)設(shè)備、車輛以及各種IOT設(shè)備的本地存儲(chǔ)迟郎。
ObjectBox Admin Web App(前身是ObjectBox Data Browser)被用來查看設(shè)備中ObjectBox數(shù)據(jù)庫(kù)的數(shù)據(jù)和表,導(dǎo)出JSON格式的數(shù)據(jù)掏觉。
以下配置只針對(duì)安卓應(yīng)用
配置及代碼改動(dòng)
建議只在調(diào)試版本中使用ObjectBox Admin Web App,不要在生產(chǎn)版本中使用。
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
版本應(yīng)該匹配你當(dāng)前使用的objectbox-android版本
2. 創(chuàng)建store之后,啟動(dòng)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());
}
可選項(xiàng):可以在未來某個(gè)時(shí)間點(diǎn)使用 admin.close()
關(guān)閉Admin
注意:objectbox-android-objectbrowser會(huì)自動(dòng)向AndroidManifest.xml中增加權(quán)限犬耻。不需要手動(dòng)添加。
<!-- 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只在調(diào)試版本中使用(參照1的build.gradle)执泰,這兩個(gè)權(quán)限不會(huì)被加入到生成版本中。
在設(shè)備上打開ObjectBox Admin Web App
啟動(dòng)你的應(yīng)用渡蜻,查看日志术吝。
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
上面是我的日志
在設(shè)備上打開 http://127.0.0.1:8090
在開發(fā)機(jī)上打開ObjectBox Admin Web App
在設(shè)備上邊調(diào)試邊看數(shù)據(jù)不是很方便,使用下面的ADB命令將設(shè)備的端口映射到開發(fā)機(jī)上茸苇。
adb forward tcp:8090 tcp:8090
在開發(fā)機(jī)上打開 http://127.0.0.1:8090