Uso correcto de Sqlite en Android (SQLiteOpenHelper, conexiones, hilo principal, etc.) [cerrado]

Busco información sobre SQLite en Android, y leo algunos capítulos de algunos libros sobre programación de Android, pero no sé cómo usar realmente SQLite en Android correctamente.

Estoy desarrollando una aplicación que tiene Actividades, Servicios y BroadcastReceivers, y todos ellos deben leer y escribir datos en la base de datos. Así que tengo algunas preguntas:

¿Dónde está el mejor lugar para crear elSQLiteOpenHelper ¿ejemplo? Leí sobre esto, y parece que la mejor manera es tener soloSQLiteOpenHelper Para toda la aplicación.¿Cuándo y dónde necesito obtenerSQLiteDatabase objetar llamandodbHelper.getReadableDatabase() (ogetWritableDatabase)? ¿Necesito hacerlo en cada consulta, cerrándola después de cada consulta?Leí que nunca debería hacer operaciones de base de datos en el hilo principal, por lo que estoy creando una tarea Async para cada operación de base de datos que hago en una Actividad, ¿es esta la mejor manera?

Respuestas a la pregunta(2)

Su respuesta a la pregunta