我有我的 android 项目 (projectA),我必须与其他 3rd 方项目 (projectB) 一起加入,对两者的更改都很少。我认为这样做的好方法是将 projectA 转换为库并让 projectB 使用该库。
问题是这两个项目都使用 SQLite 数据库。他们有自己的 SQLiteOpenHelpers 和东西,简而言之,它们都是按照使用 DB 的 android 应用程序编写的正常方式编写的(它们的 DATABASE_NAMES 当然是不同的)。
我想知道在这种情况下是否可能存在一些冲突?我不知道,一些数据库死锁,难以调试的崩溃等?我有点担心,因为我昨天看到了这个异常:
java.lang.IllegalStateException: attempt to re-open an already-closed object:
SQLiteDatabase: /data/data/[com.package.url.of.projectB]/databases/[projectAdatabaseName]
这可能与 projectA 中的一些错误有关,但我想确定它不是由数据库之间的某些冲突引起的,并且我所描述的这种情况是可以接受的。加入两个具有不同数据库的 android 项目时,有哪些潜在的陷阱、需要注意的事项和最佳实践?