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