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***

Frederico Brigatte***

Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar