Fórum Ajuda com DAO #453190
26/08/2013
0
Pessoal, teria como melhorar esse código? Separar alguma parte em outro pacote? Tipo DAO?
package com.br.aquavendas.banco;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteException;
import android.database.sqlite.SQLiteOpenHelper;
public class DbAdapter {
private static final String DATABASE_NAME = "aqua";
private static final int DATABASE_VERSION = 1;
private static final String DATABASE_TABLE_CLIENTES = "clientes";
private static final String DATABASE_TABLE_PRODUTOS = "produtos";
// CAMPOS DA TABELA CLIENTES
public static final String KEY_IDCLI = "_id";
public static final String KEY_RAZAOSOCIALNOME = "razaosocial_nome";
public static final String KEY_NOMEFANTASIA = "nome_fantasia";
public static final String KEY_CNPJCPF = "cnpj_cpf";
public static final String KEY_IE = "ie";
public static final String KEY_EMAIL = "email";
public static final String KEY_CONTATO = "contato";
public static final String KEY_ENDERECO = "endereco";
public static final String KEY_BAIRRO = "bairro";
public static final String KEY_CEP = "cep";
public static final String KEY_CIDADE = "cidade";
public static final String KEY_TELEFONE = "telefone";
public static final String KEY_CELULAR = "celular";
public static final String KEY_DATACADASTRO = "data_cadastro";
// CAMPOS DA TABELA PRODUTOS
public static final String KEY_IDPRO = "_id";
public static final String KEY_LINHA = "linha";
public static final String KEY_PRODUTO = "produto";
public static final String KEY_EMBALAGEM = "embalagem";
public static final String KEY_VALORUNITARIO = "valor_unitario";
public static final String KEY_VALORCAIXA = "valor_caixa";
public static final String KEY_TIPO = "tipo";
// CRIA A TABELA CLIENTES
private static final String DATABASE_CREATE_CLIENTES = "create table " + DATABASE_TABLE_CLIENTES + " ("
+ KEY_IDCLI + " integer primary key autoincrement, "
+ KEY_RAZAOSOCIALNOME + " text, "
+ KEY_NOMEFANTASIA + " text, "
+ KEY_CNPJCPF + " text, "
+ KEY_IE + " text, "
+ KEY_EMAIL + " text, "
+ KEY_CONTATO + " text, "
+ KEY_ENDERECO + " text, "
+ KEY_BAIRRO + " text, "
+ KEY_CEP + " text, "
+ KEY_CIDADE + " text, "
+ KEY_TELEFONE + " text, "
+ KEY_CELULAR + " text, "
+ KEY_DATACADASTRO + " text);";
// CRIA A TABELA PRODUTOS
private static final String DATABASE_CREATE_PRODUTOS = "create table " + DATABASE_TABLE_PRODUTOS + " ("
+ KEY_IDPRO + " integer primary key autoincrement, "
+ KEY_LINHA + " text, "
+ KEY_PRODUTO + " text, "
+ KEY_EMBALAGEM + " text, "
+ KEY_VALORUNITARIO + " double(10,2), "
+ KEY_VALORCAIXA + " double(10,2), "
+ KEY_TIPO + " text);";
private final Context mCtx;
private DatabaseHelper mDbHelper;
private SQLiteDatabase mDb;
public DbAdapter(Context ctx){
this.mCtx = ctx;
}
public DbAdapter open() throws SQLiteException{
if(isClosed()){
mDbHelper = new DatabaseHelper(mCtx);
mDb = mDbHelper.getWritableDatabase();
}
return this;
}
public void close(){
mDbHelper.close();
}
public boolean isClosed(){
return mDb == null || !mDb.isOpen();
}
// TABELA CLIENTES
// GRAVAR CLIENTE
public long gravarCliente(String razaosocial_nome, String cnpj_cpf, String ie, String nome_fantasia, String data_cadastro, String email, String contato, String endereco, String bairro, String cep, String cidade, String telefone, String celular){
ContentValues valores = new ContentValues();
valores.put(KEY_RAZAOSOCIALNOME, razaosocial_nome);
valores.put(KEY_NOMEFANTASIA, nome_fantasia);
valores.put(KEY_CNPJCPF, cnpj_cpf);
valores.put(KEY_IE, ie);
valores.put(KEY_EMAIL, email);
valores.put(KEY_CONTATO, contato);
valores.put(KEY_ENDERECO, endereco);
valores.put(KEY_BAIRRO, bairro);
valores.put(KEY_CEP, cep);
valores.put(KEY_CIDADE, cidade);
valores.put(KEY_TELEFONE, telefone);
valores.put(KEY_CELULAR, celular);
valores.put(KEY_DATACADASTRO, data_cadastro);
return mDb.insert(DATABASE_TABLE_CLIENTES, null, valores);
}
// ALTERAR CLIENTE
public boolean atualizarCliente(long Id, String razaosocial_nome, String cnpj_cpf, String ie, String nome_fantasia, String data_cadastro, String email, String contato, String endereco, String bairro, String cep, String cidade, String telefone, String celular){
ContentValues valores = new ContentValues();
valores.put(KEY_RAZAOSOCIALNOME, razaosocial_nome);
valores.put(KEY_NOMEFANTASIA, nome_fantasia);
valores.put(KEY_CNPJCPF, cnpj_cpf);
valores.put(KEY_IE, ie);
valores.put(KEY_EMAIL, email);
valores.put(KEY_CONTATO, contato);
valores.put(KEY_ENDERECO, endereco);
valores.put(KEY_BAIRRO, bairro);
valores.put(KEY_CEP, cep);
valores.put(KEY_CIDADE, cidade);
valores.put(KEY_TELEFONE, telefone);
valores.put(KEY_CELULAR, celular);
valores.put(KEY_DATACADASTRO, data_cadastro);
return mDb.update(DATABASE_TABLE_CLIENTES, valores, KEY_IDCLI + "=" + Id, null) > 0;
}
// APAGAR CLIENTE
public boolean apagarCliente(long Id){
int qt = mDb.delete(DATABASE_TABLE_CLIENTES, KEY_IDCLI + "=" + Id, null);
return qt > 0;
}
// CONSULTAS
// TODOS OS CLIENTES
public Cursor getTodosClientes(){
return mDb.query(DATABASE_TABLE_CLIENTES, null, null, null, null, null, null);
}
// CLIENTE POR ID
public Cursor getCliente(long Id){
return mDb.query(DATABASE_TABLE_CLIENTES, null, KEY_IDCLI + "=" + Id, null, null, null, null);
}
// CLIENTE POR NOME
public Cursor getClientePorNome(String nomeString){
String[] selectionArgs = {nomeString + "%"};
// return mDb.query(DATABASE_TABLE_CLIENTES, null, KEY_NOME + "=" + selectionArgs, null, null, null, null);
return mDb.rawQuery("SELECT * FROM clientes WHERE razaosocial_nome like ?", selectionArgs);
}
private class DatabaseHelper extends SQLiteOpenHelper{
public DatabaseHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL(DATABASE_CREATE_CLIENTES);
db.execSQL(DATABASE_CREATE_PRODUTOS);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}
}
}
Frederico Brigatte***
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)