我的应用程序中有一个中央数据库,有几个不同的活动需要访问。Android/Java:从多个活动访问相同的SQLite数据库对象
我应该通过使其静态分享此对象吗?例如像在初始化数据库的活动我这样做:
protected static appDatabase db;
然后其他人可以通过FirstActivity.db
访问它。
另一种选择是在需要它的每个活动中创建private appDatabase db
对象,但我怀疑打开多个数据库对象来访问相同的存储数据可能会造成浪费。
但是我不太了解java,这就是为什么我问 - 为什么要这样做?
谢谢
在我的应用程序犯规此类对象使用静态的。也许它是首选,但我没有做到。有趣的是看到你得到的答案。 –
你可以使用单身? – fge
我通常在我的专业环境中使用ContentProvider背后的数据库,并且发现确保一次只存在一个数据库连接(使用@fge建议的单例模式)可帮助我处理一些数据一致性问题,并避免“sqlite误用例外”。我想知道这些参数是如何在非ContentProvider环境中保持的,因此提出了问题。也许回答你的问题的人也可以提到我们可以预期多重性能与单一连接有多大的性能优势? :D – baske