我正在开发主屏幕小部件,并且正在使用 android sqlite 数据库。我DBAdapter
用简单的方法(添加、删除、获取记录...)实现了一个简单的类来处理数据库工作。它有效,但现在我正在考虑如何做到这一点的最佳方法。
对我来说最大的问题是如何(以及在哪里)存储我的 DBAdapter 的实例。如果我使用 Activity,那将非常简单——我将在onCreate
方法中创建我的 DBAdapter 的实例,一切都很好。但是现在我没有这样的选择,因为我正在使用AppWidgetProvider
并且很少IntentServices
. AppWidgetProvider
(BroadcastReceiver) 只存在一定的时间 - 在onReceive
方法执行期间。IntentService
在完成必要的工作后也“结束”。那么如何以及在哪里存储我的 DBAdapter 的实例?我不想每次都创建新的 DBAdapter 实例。
我在考虑这个选项:制作 DBAdapter 单例类或使用静态类和方法,另一个选项是使用 Gson 将 DBAdapter 存储到 sharedPreferences,或者使用序列化。但我更想问。这样做的正确方法是什么?多谢