Criando e recuperando dados de um banco de dados SQLite - Android Studio


Criando banco de dados e adicionando tabelas;

antes de criar o banco de dados é importante criar um try-catch para fazer testes. Os dados no BD são muito delicados. caso ocorra um erro no try, a execução será desviada para o bloco catch

..OnCreate..{
    try{
        ...
    }catch(){
        ...
    }

}

dentro de 'try' vamos criar o banco de dados e criar uma tabela para o banco de dados;

try{

//criando o banco de dados
SQLiteDatabase bancoDados = openOrCreateDatabase("nomeApp", MODE_PRIVATE, null);

//criando a tabela para o banco de dados
bancoDados.execSQL("CREATE TABLE IF NOT EXISTS  tabelaTarefas( tarefa VARCHAR, hora INT(2) )");

}

Inserindo dados na tabela (de forma estática);

Para esse exemplo vamos adicionar os dados de forma estática

try{ ...

//Inserindo dados 
    //dado 01
    bancoDados.execSQL("INSERT INTO tabelaTarefas( tarefa, hora) VALUES(' tarefa1', 05)");

    //dado 02
    bancoDados.execSQL("INSERT INTO tabelaTarefas( tarefa, hora) VALUES(' tarefa2', 12)");

}

Recuperando dados da tabela

crie um objeto Cursor para manipular os dados
try{...
Cursor cursor = bancoDados.rawQuery("SELECT tarefa, hora FROM tabelaTarefas", null);

    //recuperando indices da tabela 
    int indiceTarefa = cursor.getColumnIndex("tarefa");
    int indiceHora = cursor.getColumnIndex("hora");

//iniciando cursor
cursor.moveToFirst();

}

Chamando os dados no Log cat

Nosso banco de dados esta pronto. Já colocamos alguns dados e os recuperamos. agora vamos chama-los no log cat; Para isso vamos criar uma estrutura de repetição 'while'.

try{...

    while(cursor != null){

               Log.i("Resultado - tarefa",cursor.getString(indiceTarefa) );
               Log.i("Resultado - hora",cursor.getString(indiceHora) );

                //para mover o cursor
               cursor.moveToNext();        
     }

}

Códigos do bloco catch;

os códigos acima devem ser inseridos dentro do bloco 'try'. no bloco catch insira;
       
        try{
        ....
        }catch(Exception exception){

                exception.printStackTrece();

        }

Códigos completos: 


Comentários