Android 图书馆架构

Android Library Architecture

如何使用对象框或任何其他数据库创建一个拥有自己数据库的库?

我的要求是为 Android 应用程序项目制作一个即插即用的特定模块库。

我曾尝试使用 objectbox 来实现它,但是它给我的错误是整个应用程序只能打开一个实例。

您能否建议使用对象框或任何其他数据库的变通方法或适当的体系结构?

对于库,ObjectBox 有两个基本选项:

  • 将所有实体放在一个库中。这允许使用所有实体类型的交易。
  • 每个图书馆的独立数据库。每个实体都绑定到一个数据库(库),因此只能由库的 ObjectStore 放置和获取其实体。事务只能跨越绑定到一个数据库及其实体组的实体。

您可以混合使用这两种方法。

要使每个图书馆的单独数据库正常工作,您需要为每个图书馆指定一个唯一的数据库名称,例如使用BoxStoreBuilder.name(...).

为了完整起见:BoxStoreBuilder class 还允许直接指定一个目录,或者为名称指定一个不同的基目录。