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