我正在生产应用程序,因此无法共享代码。但我会尽力解释当前的情况。
我们需要设置数据库的最大大小,此大小是通过API调用提供的(因此,如果API提供了新的大小,则此大小可能会在运行时更改)。例如,让我们考虑最大大小为10 MB。数据库达到此最大大小后,我们需要删除一些数据库条目,以便可以插入新条目。
在这里我有点困惑。使用Android Room时如何设置数据库的最大大小,以及如何确定需要删除多少条目才能插入新记录并保持数据库处于允许的最大大小。
希望我很清楚,但是如果需要,我可以提供其他示例。
答案 0 :(得分:0)
就像android-united松弛中提到的那样,您可以通过使用抽象的dao类作为所有dao的基础来完成此操作。只需在执行插入操作之前检查文件大小即可。仅使用DAO:
console.log
也可以通过使用基础数据库类来实现更好的解决方案,或者可以将这种逻辑包装在viewmodel级别上。这将使您可以安全地访问上下文,但是在viewmodel外部完成的写操作将写到数据库。完成dao操作后,请务必使用setContext(null)清除上下文引用。