Boa tarde a todos! Todos os cruds de sqlite que vi o DB tem apenas uma tabela e o crud e criado dentro da propria classe SQLiteOpenHelp. Quando tenho mais de uma tabela no DB é boas práticas fazer o crud de cada tabela em classe separada? Alguém pode me ajudar a instanciar esta classe para motar o crud de cada tabela em classes separadas: Sou iniciante em programação e agradeço desde já pela ajuda segue a classe:
import android.content.Context;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;
public class ConexaoDB extends SQLiteOpenHelper {
private static final String dataBase =“bdcadastros.sqlite”;
private static final int Versao = 1;
//metodo construtor para criar o banco de dados
public ConexaoDB (Context context){
super(context, dataBase,null, Versao);
}
//metodo que cria a tabela tbusuarios no banco de dados
@Override
public void onCreate(SQLiteDatabase db) {
String tabelaUsuarios = “CREATE TABLE tbusuarios (\n” +
“idusuario INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,\n” +
“loginusuario VARCHAR(15) NOT NULL UNIQUE,\n” +
“senhausuario VARCHAR(15) NOT NULL\n” +
“)”;
try {
db.execSQL(tabelaUsuarios);
} catch (SQLException e){
Log.e("DB_LOG","onCreate: " + e.getLocalizedMessage());
}
String tabelaClientes = "CREATE TABLE tbclientes (\n" +
"idcliente INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,\n" +
"nomecliente VARCHAR(50) NOT NULL UNIQUE,\n" +
"enderecocliente VARCHAR(80) NOT NULL\n" +
")";
try {
db.execSQL(tabelaClientes);
} catch (SQLException e){
Log.e("DB_LOG","onCreate: " + e.getLocalizedMessage());
}
String tabelaServicos = "CREATE TABLE tbservicos (\n" +
"idservicos INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,\n" +
"servicos VARCHAR(4) NOT NULL,\n" +
"atendimentoservicos VARCHAR(15) NOT NULL\n" +
"FOREIGN KEY(idcliente) REFERENCES tbclientes(idcliente)\n" +
")";
try {
db.execSQL(tabelaServicos);
} catch (SQLException e){
Log.e("DB_LOG","onCreate: " + e.getLocalizedMessage());
}
}
//metodo que verifica a versão da tabela e substitui se form mais nova
@Override
public void onUpgrade(SQLiteDatabase db, int versaoAnterior, int novaVersao) {
Versao++;
String tabelaUsuarios = “DROP TABLE IF EXISTS tbusuarios”;
db.execSQL(tabelaUsuarios);
String tabelaClientes = "DROP TABLE IF EXISTS tbclientes";
db.execSQL(tabelaClientes);
String tabelaServicos = "DROP TABLE IF EXISTS tbservicos";
db.execSQL(tabelaServicos);
}
}