采集向量优化调试
This commit is contained in:
@@ -18,10 +18,12 @@ package com.sw.dualscreen.objbox
|
||||
|
||||
import android.content.Context
|
||||
import android.util.Log
|
||||
import io.objectbox.Box
|
||||
import io.objectbox.BoxStore
|
||||
import io.objectbox.BoxStoreBuilder
|
||||
import io.objectbox.android.Admin
|
||||
import io.objectbox.android.ObjectBoxLiveData
|
||||
import io.objectbox.config.DebugFlags
|
||||
import io.objectbox.exception.DbException
|
||||
import io.objectbox.exception.FileCorruptException
|
||||
import io.objectbox.sync.Sync
|
||||
@@ -64,6 +66,7 @@ object ObjectBox {
|
||||
boxStore = try {
|
||||
MyObjectBox.builder()
|
||||
.androidContext(context.applicationContext)
|
||||
.debugFlags(DebugFlags.LOG_QUERY_PARAMETERS)
|
||||
.build()
|
||||
} catch (e: DbException) {
|
||||
if (e.javaClass == DbException::class.java || e is FileCorruptException) {
|
||||
@@ -111,4 +114,42 @@ object ObjectBox {
|
||||
return true
|
||||
}
|
||||
|
||||
// /**
|
||||
// * 安全获取 Food 实体 foodVector 字段的向量索引(推荐写法)
|
||||
// */
|
||||
// fun getFoodVectorIndex(box: Box<Food>): VectorIndex? {
|
||||
// return try {
|
||||
// // 核心修复:使用自动生成的 Food_.foodVector 而非字符串,避免拼写错误
|
||||
// val foodVectorProperty = Food_.foodVector
|
||||
// // 获取向量索引(适配 ObjectBox 3.5+ 所有版本)
|
||||
// foodVectorProperty.vectorIndex
|
||||
// } catch (e: Exception) {
|
||||
// // 容错处理:打印错误信息,避免崩溃
|
||||
// e.printStackTrace()
|
||||
// null
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// // 刷新索引的调用示例(结合你之前的更新场景)
|
||||
// fun refreshFoodVectorIndex(box: Box<Food>) {
|
||||
// val vectorIndex = getFoodVectorIndex(box)
|
||||
// vectorIndex?.run {
|
||||
// // 同步刷新索引(解决查询异常问题)
|
||||
// refresh()
|
||||
// // 等待索引构建完成(超时 5 秒,避免无限等待)
|
||||
// waitUntilBuilt(5000)
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// // 更新 isDel 字段后的完整调用流程
|
||||
// fun markFoodAsDeleted(box: Box<Food>, foodId: Long) {
|
||||
// val food = box[foodId]
|
||||
// if (food != null) {
|
||||
// food.isDel = true
|
||||
// box.put(food)
|
||||
// // 更新后刷新索引
|
||||
// refreshFoodVectorIndex(box)
|
||||
// }
|
||||
// }
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user