5 - SQLiteHelper.java

Top  Previous  Next

package com.bancofull;

 

import android.content.Context;

import android.database.sqlite.SQLiteDatabase;

import android.database.sqlite.SQLiteOpenHelper;

import android.util.Log;

 

public class SQLiteHelper extends SQLiteOpenHelper {

 

 private static final String CATEGORIA = "livro";

 

 private String[] scriptSQLCreate;

 private String scriptSQLDelete;

 

 /**

  * Cria uma instância de SQLiteHelper

  *

  * @param context

  * @param nomeBanco

  *           nome do banco de dados

  * @param versaoBanco

  *           versão do banco de dados (se for diferente é para atualizar)

  * @param scriptSQLCreate

  *            SQL com o create table..

  * @param scriptSQLDelete

  *            SQL com o drop table...

  */

 SQLiteHelper(Context context, String nomeBanco, int versaoBanco, String[] scriptSQLCreate, String scriptSQLDelete) {

         super(context, nomeBanco, null, versaoBanco);

         this.scriptSQLCreate = scriptSQLCreate;

         this.scriptSQLDelete = scriptSQLDelete;

 }

 

 @Override

 // Criar novo banco...

 public void onCreate(SQLiteDatabase db) {

         Log.i(CATEGORIA, "Criando banco com sql");

         int qtdeScripts = scriptSQLCreate.length;

 

         // Executa cada sql passado como parâmetro

         for (int i = 0; i < qtdeScripts; i++) {

                 String sql = scriptSQLCreate[i];

                 Log.i(CATEGORIA, sql);

                 // Cria o banco de dados executando o script de criação

                 db.execSQL(sql);

         }

 }

 

 @Override

 // Mudou a versão...

 public void onUpgrade(SQLiteDatabase db, int versaoAntiga, int novaVersao) {

         Log.w(CATEGORIA, "Atualizando da versão " + versaoAntiga + " para "        + novaVersao + ". Todos os registros serão deletados.");

         Log.i(CATEGORIA, scriptSQLDelete);

         // Deleta as tabelas...

         db.execSQL(scriptSQLDelete);

         // Cria novamente...

         onCreate(db);

 }

}