我试图从不同的活动访问一个唯一的数据库,但是当我使用数据库时,我必须创建一个不同的数据库实例,因为每个活动都会产生不需要的结果,我如何管理不同活动的唯一数据库?
问问题
27 次
1 回答
0
但是,当我使用数据库时,我必须创建一个不同的数据库实例,因为每个活动都会产生不需要的结果,我该如何管理一个独特的数据库,因为不同的活动?
那么你考虑过Singleton吗?我认为您的问题直接指定为使用单例设计模式。使用只有好处(总是只有一个实例,不浪费内存,干净且人类可读的代码等)。
让我们写一些代码:
private static SQLiteOpenHelper instance;
public static SQLiteOpenHelper getInstance(Context c) {
if (instance == null) {
instance = new SQLiteOpenHelperImplementation(c);
}
return instance;
}
我对单身人士只有很好的经验。
笔记:
为了改进您使用数据库的工作,我有一些建议给您:
如果您有多个表,我建议您创建“操作”类,这些类将包装
CRUD
每个表的操作和特定方法。为了提高 db 的性能、安全性和完整性,请始终使用
TRANSACTIONS
. 这是非常有用和有效的做法在并发编程中,始终使用同步块和方法来避免与访问数据库和进行更改相关的问题
总是在工作完成后,释放你的游标并关闭数据库
于 2013-04-03T21:20:02.393 回答