Utilizando el patrón de diseño Singleton para SQLiteDatabase

Soy bastante novato en Android, y estoy trabajando en una aplicación simple para obtener algo de experiencia básica. Mi aplicación es bastante simple y consiste, entre otras cosas, en un receptor de transmisión y algunas actividades. Ambos componentes utilizan una sola base de datos, por lo que en teoría podría suceder que ambos intenten acceder a la base de datos simultáneamente.

Actualmente, simplemente estoy instanciando el objeto db (que es una clase auxiliar de SQLite db) cada vez que lo necesito, y realizando las operaciones necesarias: consulta, inserción, etc.

De lo que he estado leyendo aquí y en algunos otros documentos, esto tiene el problema de obtener una excepción "db bloqueada" en caso de que se acceda a la base de datos simultáneamente, por lo que un mejor enfoque sería tener una sola instancia de este objeto db todos los componentes usan la misma conexión db en todo momento.

¿Es correcto el razonamiento anterior? ¿Sería un singleton una solución lo suficientemente buena para esto? Sé que algunos puristas pueden argumentar en contra, pero tenga en cuenta que esta es una aplicación bastante simple, así que puedo permitirme hacer cosas que no haría en otros casos.

De lo contrario, ¿cuál sería una mejor opción? He leído sobre el uso del proveedor de contenido, pero sería demasiado para esto, además de que no estoy interesado en compartir los datos con otras actividades. De hecho, he leído estoenvia y lo encontré bastante útil.

Respuestas a la pregunta(2)

Su respuesta a la pregunta