Uso correto do Sqlite no Android (SQLiteOpenHelper, conexões, thread principal, etc…) [closed]

Estou pesquisando informações sobre o SQLite no Android e li alguns capítulos de alguns livros sobre a programação do Android, mas não sei como usar o SQLite no Android corretamente.

Estou desenvolvendo um aplicativo que possui Atividades, Serviços e BroadcastReceivers, e todos eles devem ler e gravar dados no banco de dados. Então eu tenho algumas perguntas:

Onde é o melhor lugar para criar oSQLiteOpenHelper instância? Eu li sobre isso, e parece que a melhor maneira é ter apenasSQLiteOpenHelper para todo o aplicativo.Quando e onde preciso obterSQLiteDatabase objeto chamandodbHelper.getReadableDatabase() (ougetWritableDatabase) Eu preciso fazer isso em cada consulta, fechando depois de cada consulta?Eu li que eu nunca deveria fazer operações de banco de dados no thread principal, por isso estou criando uma tarefa Async para cada operação de banco de dados que faço em uma atividade, esta é a melhor maneira?

questionAnswers(2)

yourAnswerToTheQuestion