Использование шаблона проектирования Singleton для SQLiteDatabase

Я новичок в Android и работаю над простым приложением, чтобы получить базовый опыт. Мое приложение довольно простое и состоит, среди прочего, из широковещательного приемника и некоторых действий. Оба компонента используют одну базу данных, поэтому теоретически может случиться так, что оба попытаются получить доступ к базе данных одновременно.

В настоящее время я просто создаю экземпляр объекта db (который является вспомогательным классом SQLite db) каждый раз, когда мне нужно это и выполнение необходимых операций: запрос, вставка и т. д.

Из того, что я читал здесь и в некоторых других документах, возникает проблема получения исключения "db locked" в случае, если к db обращаются одновременно , поэтому лучшим подходом было бы иметь один экземпляр этого объекта db, чтобы все компоненты всегда использовали одно и то же соединение db.

Верно ли приведенное выше рассуждение? Будет ли синглтон для этого достаточно хорошим решением? Я знаю, что некоторые пуристы могут возражать против этого, но учтите, что это довольно простое приложение, поэтому я могу позволить себе делать то, чего не стал бы делать в других случаях.

В противном случае, что было бы лучше?Я читал об использовании поставщика контента, но для этого было бы слишком много, кроме того, мне не интересно делиться данными с другими действиями. Я действительно прочитал этот пост и нашел его весьма полезным.

71
задан Suragch 24 October 2016 в 08:18
поделиться