Android库中的房间数据库以及对象和Dao';Android项目中的s

Android库中的房间数据库以及对象和Dao';Android项目中的s,android,android-room,android-library,Android,Android Room,Android Library,我想在我的应用程序中实现Room数据库,但我想通过创建一个库项目来实现 库项目将存储数据 Android项目将有对象和Dao 这可能吗 为此,我必须在Android项目和库中实现Room 但我可以在Android项目中使用Dao和对象,并在库中使用数据库吗 为什么我要这么做。 我想以一种通用的方式构建此功能,以便可以在我的其他项目中使用它。此外,该库不仅存储数据,还具有一些脱机功能,可以读取脱机数据表,检查internet连接,从表中提取数据并将其发送到服务器 所有这些都尚未实施。我正在思考什么

我想在我的应用程序中实现Room数据库,但我想通过创建一个库项目来实现

库项目将存储数据 Android项目将有对象和Dao

这可能吗

为此,我必须在Android项目和库中实现Room

但我可以在Android项目中使用Dao和对象,并在库中使用数据库吗

为什么我要这么做。 我想以一种通用的方式构建此功能,以便可以在我的其他项目中使用它。此外,该库不仅存储数据,还具有一些脱机功能,可以读取脱机数据表,检查internet连接,从表中提取数据并将其发送到服务器

所有这些都尚未实施。我正在思考什么是正确的方法

谢谢你的建议


R

我认为您可以使用
动态功能模块
,因为它依赖于
应用程序模块
,您可以从应用程序中使用
Dao
对象。

我认为您可以使用
动态功能模块
,因为它依赖于
应用程序模块
,您可以从应用程序中使用
Dao
对象

非常希望将空间移动到单独的模块,因为它是Android特有的,并且违反了干净体系结构的原则。你可以从这里开始,至少看起来很相似:看看所有的答案

关于重复使用,可能会很难。不确定,您为使其通用化所花费的时间比在每个项目中实施时要少。所以,把时间也记在帐上

有意义的案例。
在我的公司,我们做了第二件事。我们有一些相关产品(一些应用程序)具有类似的用户预期逻辑。因此,我们有一个库,负责所有用户登录/令牌过期逻辑等,它为应用程序提供了一个简单的界面来处理用户帐户。单一代码库,在修复bug时非常有用。并将此库作为通用模块连接到每个项目。但是,由于特定领域的数据,每个应用程序都有自己的互联网通信和数据库。

测试和架构的最佳选择-将所有房间和互联网逻辑移动到应用程序中的模块。通过接口访问它。您可以在应用程序之间共享该模块。

将空间移动到单独的模块是一个极大的愿望,因为它是特定于Android的,并且违反了清洁体系结构的原则。你可以从这里开始,至少看起来很相似:看看所有的答案

关于重复使用,可能会很难。不确定,您为使其通用化所花费的时间比在每个项目中实施时要少。所以,把时间也记在帐上

有意义的案例。
在我的公司,我们做了第二件事。我们有一些相关产品(一些应用程序)具有类似的用户预期逻辑。因此,我们有一个库,负责所有用户登录/令牌过期逻辑等,它为应用程序提供了一个简单的界面来处理用户帐户。单一代码库,在修复bug时非常有用。并将此库作为通用模块连接到每个项目。但是,由于特定领域的数据,每个应用程序都有自己的互联网通信和数据库。

测试和架构的最佳选择-将所有房间和互联网逻辑移动到应用程序中的模块。通过接口访问它。您可以在应用程序之间共享该模块。

您能给出任何示例或链接吗请访问:。但是如果使用它,你需要一些配置。但是这对我有什么帮助呢?我不明白。我不确定它是否可以用于您的案例,因为我知道动态功能只取决于应用程序模块,所以您可以在应用程序中使用一些声明,但是如何配置,您可以按照上面的链接进行操作。您能给出任何示例或链接吗请访问:。但是如果使用它,你需要一些配置。但是这对我有什么帮助呢?我不明白。我不确定它是否可以用于您的案例,因为我知道动态功能只取决于应用程序模块,所以您可以在应用程序中使用一些声明,但如何配置,你们可以点击上面的链接。Room DB已经是一个非常抽象的SQLite包装库了。我想把它分开的唯一原因是我将构建离线功能,可以在其他应用中使用。但我不确定如何处理库中的文件室和项目中的对象DAO,也不确定这是否是一个好主意Aroom DB已经是一个非常抽象的SQLite包装库了。我想把它分开的唯一原因是我将构建脱机功能,可以在其他应用程序中使用。但我不确定如何处理库中的房间和项目中的对象DAO,也不确定这是否是一个好主意。因为db将与应用程序及其对象更相关。将其移动到单独的库是很难的,也没有价值的。这是您的建议。是的,是有意义的,由于db将更多地与应用程序及其对象相关,所以将其移动到单独的库是很困难的,也没有价值的,这是您的建议,对吗