Como funciona um App que utiliza Banco de Dados?
O Android possui algumas formas de armazenar e persistir dados. Uma delas é o Banco de Dados interno da aplicação (cada App pode criar o seu): o SQLite.
Geralmente você cria 3 classes (os nomes podem variar, claro):
A primeira é a “DataContract”, que você usa pra criar um “Contrato”, ou seja, pra criar as constantes e as URIs que irá utilizar na aplicação. Facilita bastante o desenvolvimento. A segunda classe é a “DataDBHelper”, que é quem estende a classe “SQLiteOpenHelper” e serve para criar, apagar e atualizar o banco. E por último, temos a “DataProvider”, que é a classe que provê o conteúdo. Estendemos a classe “ContentProvider” e implementamos os métodos do CRUD (poderíamos fazer o CRUD diretamente na classe Helper, mas criar um Provedor de Conteúdo ou “ContentProvider” é boa prática e auxilia em implementações mais complexas).