问题标签 [objectbox-android]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - ObjectBox 在类型迁移后不保留以前的值
我们必须将实体中的一个字段参数从 迁移long
到BigDecimal
. 迁移很顺利,但是有问题;我们希望将以前的值设置为迁移的字段。但是一旦ObjectBox
被初始化,它会将 migrated 字段默认为当前类型的默认值,在我们的例子中为null
.
假设我们有:
标识(长) | 姓名 |
---|---|
123 | 随机名称 |
迁移后我们得到:
标识(字符串) | 姓名 |
---|---|
无效的 | 随机名称 |
是否有任何可能的迁移方式而不会丢失已迁移字段的值?
附注:我使用转换器来保留BigDecimal
值,因为ObjectBox
不支持BigDecimal
转换器类:
用法:
objectbox - ObjectBox:在 Dart 中打开用 Java 创建的 DB 文件时出现问题
我在 Android 上有一个正在运行的 Java 应用程序,现在我尝试将其迁移到 Flutter/Dart。所以我在 Dart 中重新创建了模型,并尽最大努力将类型与 Java 匹配。我注意到不能完全匹配的一件事是 Java 中的模型继承在 Dart 中不受支持。为此,我将最初在父类中的所有属性复制到子类中。我的测试应用程序首先创建了一个空数据库,并在 Linux 和 Android 上运行,具有基本的 get 和 put。
希望使用与 Java 应用程序相同的数据库,然后我复制了一个已创建并仍在 Android 上的 Java 应用程序使用的数据库文件,并将其放置在 Dart 应用程序中。我还复制了模型 json 文件,以便希望 UID 可以匹配。在Linux上运行,它崩溃并报告以下错误,这对我来说基本上意义不大:
然后我尝试在 Android 上启动它,我收到异常消息,比如
ObjectBoxException (ObjectBoxException: failed to create store: 10501 Cannot change the following flags for Property rightToLeft (6, Bool) (Language) from 4 to 0 (problem flags: 4). 请考虑创建一个新属性。请检查数据文档模型迁移和 UID。)
我检查了Java应用程序的json文件,是的,有'flags'字段,如:
但是这个属性变成了 Dart
在构建数据库例程时,“标志”字段因某种原因被删除。然后我检查了其他属性,Java 文件有许多具有标志字段的属性。许多这些标志字段在 Dart 中被删除,只保留了一些。我找不到太多关于这些标志是什么的信息,或者为什么它们在 Java 和 Dart 版本之间不同,或者如何在 Dart 中维护它们以便可以兼容地处理 DB 文件。
请问有什么建议吗?
objectbox - Objectbox 同步服务器配置故障排除
遵循https://sync.objectbox.io/objectbox-sync-server中的指南
我已经有我下载的 Objectbox 同步服务器文件
- 下载我的 Objectbox 同步服务器文件(我从 Objectbox Team 获得)并解压
- 将我的 objectbox-model.json(从我的颤振应用程序生成的文件)复制到提取的文件夹中
尝试
它给了我
创建配置文件 (sync-server-config.js) 包含:
并从该文件夹打开终端运行 ./sync-server
它返回我错误
我确实尝试过
删除,也给出同样的错误
我是 Objectbox 的新手,我想尝试使用同步部分,
您的帮助将不胜感激。谢谢
android-studio - 由于自动生成的文件中出现“找不到符号”编译错误,无法在 Android Studio 和 ObjectBox 中进行覆盖测试
我正在使用 Android Studio 4.1.1、ObjectBox 3.0.1 和 Kotlin 1.5.10。
当我点击测试类或 run 上的运行./gradlew :app-core:test
按钮时,测试运行良好,但是当我点击Run X with coverage
测试运行时,我显示
如果我点击Cancel
后台的覆盖率报告就会消失(所以我无法读取覆盖率信息,编辑器中的代码行也没有覆盖率信息)。
如果我单击OK
开始编译,并且在 ObjectBox 生成的文件中出现编译错误SomeEntityCursor
:
其他生成的类中也发生了同样的情况(请参阅下面的详细信息)。但底线是生成的代码似乎无法看到我的实体类。值得注意的是:生成的代码与实体类在同一个模块中。
仅供参考,SomeEntity
看起来像这样:
奇怪的是,有时它可以编译,但如果我以前这样做肯定不会Clean project
!
这是完整的输出(对于示例包名称与日志中的不一致,我很抱歉,我希望它没有任何区别!):
不幸的是,我在网上找不到有关该问题的任何信息信息,因此感谢您提供任何提示,谢谢!
android - 仅更新 ObjectBox Android 中的选定列
是否可以仅更新 ObjectBox Android 中的选定列?
例如,“提醒”实体中有 5 列
我只想更新现有 ID 的“完成”列。
所以我尝试了,
但是,所有列都被覆盖(其他列填充了初始值)。
有什么简单的方法可以只覆盖选定的列吗?还是我总是必须重新放置所有列?
谢谢你。
objectbox - ObjectBox 属性可以有多个注释吗?
ObjectBox记录了几个可以应用于实体属性的注释。一个属性可以有多个注释吗?
例如,这会是一个有效的实体吗?
objectbox - 将 android 应用程序从 ormlite 迁移到 objectBox
我有一个已经使用Ormlite库的现有应用程序,如何迁移到objectBox?大家有例子吗?</p>
android - 如何在多模块 Android 项目中使用 ObjectBox 数据浏览器?
我的 android kotlin 项目中有不同的模块。我按照在我的应用程序中集成 ObjectBox 数据浏览器的设置。https://docs.objectbox.io/data-browser#browse-data-on-your-device 我的应用程序有多个模块句柄,具有自己的 boxStore(属于其域)。我在一个模块的 build.gradle 中做了更改,而不是在应用程序的 build.gradle
可能会出现问题,因为它记录在设置中(否则,构建将失败并出现重复文件错误(如重复文件......),请参阅下面的异常。
任务:app:mergeDevDebugJavaResource
FAILURE:构建完成,有 2 次失败。
1:任务因异常而失败。
- 出了什么问题:任务“:app:checkDevDebugDuplicateClasses”执行失败。
执行 com.android.build.gradle.internal.tasks.CheckDuplicatesRunnable 模块 objectbox-android-3.1.0-runtime (io.objectbox:objectbox-android:3.1. 0) 和 objectbox-android-objectbrowser-3.1.0-runtime (io.objectbox:objectbox-android-objectbrowser:3.1.0)
- 尝试:使用 --stacktrace 选项运行以获取堆栈跟踪。使用 --info 或 --debug 选项运行以获得更多日志输出。运行 --scan 以获得完整的见解。==================================================== ==============================
2:任务因异常而失败。
- 出了什么问题:任务“:app:mergeDevDebugNativeLibs”执行失败。
执行 com.android.build.gradle.internal.tasks.MergeNativeLibsTask$MergeNativeLibsTaskWorkAction 2 文件时发生故障,从输入中找到路径“lib/arm64-v8a/libobjectbox-jni.so”:- C:\Users\user.gradle \caches\transforms-3\61d4e2d341867bfe7da882a16d958f28\transformed\objectbox-android-3.1.0\jni\arm64-v8a\libobjectbox-jni.so - C:\Users\user.gradle\caches\transforms-3\c01a6cc4e4401962baa7adfbb173c10c\transformed objectbox-android-objectbrowser-3.1.0\jni\arm64-v8a\libobjectbox-jni.so 如果您使用 jniLibs 和 CMake IMPORTED 目标,请参阅 https://developer.android.com/r/tools/jniLibs-vs-导入目标
是否可以在多模块 Android 项目中使用 ObjectBox 数据浏览器?