Я новичок на Android, и я работаю над простым приложением, чтобы получить базовый опыт. Мое приложение довольно простое и состоит, среди прочего, из вещательного приемника и некоторых видов деятельности. Оба компонента используют одну базу данных, поэтому теоретически может случиться, что оба пытаются получить доступ к db одновременно.
В настоящее время я просто создаю экземпляр объекта db (который является классом-помощником SQLite db) каждый раз, когда он мне нужен, и выполняя необходимые операции: запрос, вставку и т.д.
Из того, что я читал здесь и в некоторых других документах, проблема состоит в том, чтобы получить исключение "db locked" в случае одновременного доступа к db, поэтому лучший подход будет иметь один экземпляр этого db объект, поэтому все компоненты всегда используют одно и то же соединение db.
Правильны ли приведенные выше рассуждения? Может ли синглтон быть достаточно хорошим решением для этого? Я знаю, что некоторые пуристы могут возразить против него, но, пожалуйста, обратите внимание, что это довольно простое приложение, поэтому я могу позволить себе делать то, чего не хочу в других случаях.
В противном случае, что будет лучшим вариантом? Я читал об использовании контент-провайдера, но для этого было бы слишком много, кроме того, мне неинтересно делиться данными с другими видами деятельности. Я действительно прочитал этот post и нашел его полезным.