Eu estou com algumas duvidas com relação à estrutura da utilização do SQLiteOpenHelper junto com o SQLitedatabase.
Li este tutorial e ainda não consegui entender muito bem a função dessa classe.
Pelo que vi deve-se extender a classe SQLiteOpenHelper e implementar onCreate e onUpgrade. Vamos supor que esta se chame DBHelper como vi no tutorial.
Depois, uma outra classe qualquer deve ter uma instancia de DBHelper e uma do SQLitedatabase. Suponhamos da mesma maneira que esta se chama DBAdapter.
É a partir daí que eu não entendo, porque o DBHelper é usado apenas uma vez, no construtor de DBAdapter. Mas em que momento e em que classe do app eu devo instanciar a classe DBAdapter? E o onCreate é chamado quando eu faço essa instanciação ou quando eu tento executar a primeira operação no banco?
O DBHelper é usado apenas no construtor mesmo? Ele não é usado em mais NADA?
E por ultimo, onde eu devo usar metodos como o getWritableDatabase() e close() e quais trechos de codigo eu devo circundar com try catch?
Eu sei que é muita duvida mas por favor me ajudem porque eu já estou tentado entender isso corretamente ha dias.