Ajuda com DAO
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 :)