首页 > 解决方案 > 如何在 Gradle 多模块项目中使用 ObjectBox?

问题描述

我尝试创建具有两个功能(AB)的多模块项目。他们有几个实体AEntityBEntity

在制作项目之后,我在每个功能模块中有几个MyObjectBox类。

当我做:

FeatureA.MyObjectBox.builder()
                .androidContext(application)
                .build()

FeatureB.MyObjectBox.builder()
                    .androidContext(application)
                    .build()

我明白了:另一个 BoxStore 仍在为此目录打开...原因 BoxStore 只能为一个目录打开一次。

如果我的模型存储在多个 gradle 功能模块中,我如何为多模块项目创建 BoxStore?

标签: androidmulti-moduleobjectbox

解决方案


知道了!

为此,您可以创建两个 BoxStore,但您必须在 BoxStoreBuilder 中设置名称:

FeatureA.MyObjectBox.builder()
                .androidContext(application)
                .name("FeatureA")
                .build()

FeatureB.MyObjectBox.builder()
                .androidContext(application)
                .name("FeatureB")
                .build()

但是有一个限制。您不能在 AEntity 和 BEntity 之间创建关系...


推荐阅读