Я досить новачок на Android, і я працюю над простим додатком, щоб отримати базовий досвід. Мій додаток досить простий і, серед іншого, складається з приймача мовлення та деяких видів діяльності. Обидва компоненти використовують єдину базу даних, тому теоретично може статися так, що обидва намагаються отримати доступ до бази даних одночасно.
В даний час я просто створюю екземпляр об'єкта db (який є допоміжним класом SQLite db) кожного разу, коли мені це потрібно, і виконую необхідні операції: запит, вставка тощо.
З того, що я читав тут і в деяких інших документах, проблема полягає в отриманні винятку "db locked" у разі одночасного доступу до db, тому кращим підходом буде наявність одного екземпляра цього об'єкта db, тому всі компоненти постійно використовують одне і те ж з'єднання db.
Чи правильні вищезазначені міркування? Чи був би одиночка тоді достатньо хорошим рішенням для цього? Я знаю, що деякі пуристи можуть висловитись проти, але зауважте, що це досить проста програма, тому я можу дозволити собі робити те, чого не робив би в інших випадках.
Інакше, що було б кращим варіантом? Я читав про використання постачальника вмісту, але для цього було б занадто багато, крім того, що я не зацікавлений ділитися даними з іншими видами діяльності. Я справді прочитав цю публікацію і знайшов її досить корисною.