Я разрабатываю виджет домашнего экрана и использую базу данных Android sqlite. Я реализовал простой класс DBAdapter
с простыми методами (добавить, удалить, получить записи...) для работы с базой данных. Это работает, но теперь я думаю о том, как лучше всего это сделать.
Самой большой проблемой для меня является то, как (и где) хранить экземпляр моего DBAdapter. Если бы я использовал Activity, это было бы очень просто — я создам экземпляр своего DBAdapter в методе onCreate
, и все в порядке. Но сейчас у меня нет такой возможности, так как я использую AppWidgetProvider
и несколько IntentServices
. AppWidgetProvider
(BroadcastReceiver) живет только определенное время - во время выполнения метода onReceive
. IntentService
также "заканчивается" после завершения необходимой работы. Итак, как и где хранить экземпляр моего DBAdapter? Я не хочу каждый раз создавать новый экземпляр DBAdapter.
Я думал об этих вариантах: сделать одноэлементный класс DBAdapter или использовать статический класс и методы, другой вариант - использовать Gson для хранения DBAdapter в общих настройках или, возможно, использовать сериализацию. Но я лучше спрошу. Как правильно это сделать? Большое спасибо