Я начал изучать и использовать greendao ORM, и у меня есть эта проблема. Я пишу приложение memo/alert, и это означает, что мне нужен доступ к БД из различных видов деятельности, а также служб и приемников. Например: на одном экране я устанавливаю значения предупреждений. На службе и получателе я читаю эти значения и действую соответственно.Доступ к db с использованием greendao через приложение
Настройка и доступ к БД с объектами и отношениями, кажется, работают нормально внутри моего основного действия oncreate(), поскольку я только что установил кодер там, чтобы протестировать и отладить.
Я думал о написании одноэлементного класса, который будет обрабатывать весь доступ и операции БД, но поскольку это не активность, у него нет «контекста» . Я знаю, что передача контекста как параметра - плохая идея. Мне нужно найти способ доступа к БД из всех вышеперечисленных.
Кроме того, я где-то читал, что я не должен инициализировать БД в основном действии. Может ли кто-нибудь уточнить это и объяснить идею инициализации и проблему с основным видом деятельности?
Надеюсь, что я смог очистить свои проблемы. Спасибо за чтение и, возможно, за ответ.
Вы можете использовать контекст приложения, который одноэлементен для жизни вашего процесса. 'context.getApplicationContext()' – Karakuri
Спасибо @Karakuri, но контекст не сразу доступен мне в сервисах или вспомогательных классах. –
Я читал, что проходящий контекст как параметр приводит к утечке. И основная проблема заключается в том, как добраться до контекста, когда он недоступен. –