Você está na página 1de 4

Programao de banco de dados no android

Android fornece quatro maneiras de alcanar a persistncia. Preferncias - basicamente usado para armazenar as preferncias do usurio para um nico aplicativo ou aplicativos para um celular. Se trata de pares nome-valor normalmente acessveis para o contexto. Bancos de dados - Android oferece suporte criao de bancos de dados com base no SQLite db. Cada banco de dados privado para os aplicativos que cria-lo Arquivos - arquivos podem ser armazenados diretamente no celular ou em um meio de armazenamento prolongado. Por padro, outros aplicativos no possvel acess-lo. Rede - dados podem ser armazenados e recuperados da rede tambm dependendo da disponibilidade. Preferncia : Preferncias so tipicamente pares de valor de nome. Eles podem ser armazenados como "Preferncias compartilhada" atravs de vrias atividades em um aplicativo (Nota atualmente no pode ser compartilhado entre processos). Primeiro, precisamos colocar nosso valor ao contexto. E o objeto de contexto permite recuperar SharedPreferences atravs do mtodo Context.getSharedPreferences(). 1. Fazer uma coleo de preferncia compartilhada 2. Recuperar a coleo de preferncia compartilhada Fazer uma coleo de preferncia compartilhada
SharedPreferences myPrefs = this.getSharedPreferences ("contato", MODE_WORLD_READABLE); SharedPreferences.Editor prefsEditor = myPrefs.edit(); prefsEditor.putString ("sample", "Este o teste de comandos"); prefsEditor.commit();

Recuperar a coleo de preferncia compartilhada


SharedPreferences myPrefs = this.getSharedPreferences ("contato", MODE_WORLD_READABLE); prefsEditor.getString ("sample", "Valor padro");

Criando e usando bancos de dados no Android Cada aplicativo usa dados e aplicaes Android no so excepo. Android usa o cdigo-fonte aberto, stand-alone SQL banco SQLite. Aprenda a criar e manipular um banco de dados SQLite para o seu Android app. Android usa o sistema de banco de dados SQLite, que um open-source, stand-alone banco SQL, amplamente utilizado por muitos aplicativos populares. No Android, o banco de dados que voc cria para um aplicativo acessvel unicamente a mesmo; outras aplicaes no ser capazes de acess-lo. Uma vez criado, o banco de dados SQLite armazenado na pasta /data/data// de bancos de dados de um dispositivo Android. Neste artigo, voc aprender como criar e usar um banco de dados SQLite no Android. Aqui vamos apresentar duas nova classe para programao de banco de dados. Classe 1. Crie um SQLiteFactoryManager, que fornecer o banco de dados. Classe 2. Crie um DAOHelper que fornece a operao de CRUD.

Crie um SQLiteFactoryManager, que fornecer o banco de dados. SQLiteFactoryManager usado para criar um banco de dados e tabelas Etapa 1: Criar uma classe SQLConnectionFactory que estende o SQLiteOpenHelper public class SQLConnectionFactory estende SQLiteOpenHelper { Etapa 2: Criar um banco de dados usando o Construtor SQLiteOpenHelper pblica {SQLConnectionFactory (contexto de contexto) Super (null contexto, DATABASENAME, 1); }

Etapa 3: Criar tabelas db.execSQL(CREATE_USERTABLE);

FONTE DE EXEMPLO Import android.content.Context; Import android.database.sqlite.SQLiteDatabase; Import android.database.sqlite.SQLiteOpenHelper; Import android.util.Log; Import android.widget.Toast; public class SQLConnectionFactory estende SQLiteOpenHelper { privada esttica final String DATABASENAME = "Aniversrio"; privada esttica final String CREATE_USERTABLE = "Criar tabela BIRTHDAY(ID INTEGER NOT NULL CONSTRAINT USER_PK PRIMARY KEY AUTOINCREMENT,NAME TEXT,CATEGORY TEXT,DOB DATE,AGE INTEGER)"; pblica {SQLConnectionFactory (contexto de contexto) Super (null contexto, DATABASENAME, 1); } @Override {public void onCreate (SQLiteDatabase db) db.execSQL(CREATE_USERTABLE); Log. d ("@ G SQLConnectionFactory", "CREATE_USERTABLE Table"); } @Override {public void onUpgrade (SQLiteDatabase db, int oldVersion, int newVersion) } }

Crie um DAOHelper que fornece a operao de CRUD. Passo 1: Obter o objeto de fbrica de SQLConnectionFactory. factoryObj = novo SQLConnectionFactory (c); Passo 2: Obter o objeto de leitura e gravao de dados usando o objeto de fbrica. pblico esttico SQLiteDatabase getReadableDataBase (contexto c) { retornar factoryObj.getReadableDatabase(); } pblico esttico SQLiteDatabase getWriteableDataBase (contexto c) { retornar factoryObj.getReadableDatabase(); } Passo 3: Execute a operao de CRUD usando SQLite consulta. insertData, removeData, getData. Cdigo de exemplo import java.util.ArrayList; Import android.content.Context; Import android.database.Cursor; Import android.database.sqlite.SQLiteDatabase; Import android.database.sqlite.SQLiteStatement; Import android.util.Log;

Import android.widget.ArrayAdapter; public class DAOHelper { esttico SQLConnectionFactory factoryObj; esttico SQLiteDatabase banco de dados; pblico DAOHelper (contexto c) { factoryObj = novo SQLConnectionFactory(c); } pblico esttico SQLiteDatabase getReadableDataBase (contexto c) { retornar factoryObj.getReadableDatabase(); } pblico esttico SQLiteDatabase getWriteableDataBase (contexto c) { retornar factoryObj.getWriteableDatabase(); } public void insertData (contexto c, objeto bindValue[]) { banco de dados = getWriteableDataBase(c); Declarao de SQLiteStatement = banco de dados .compileStatement ("Selecione MAX(ID) + 1 de aniversrio"); taskId longa = statement.simpleQueryForLong(); se (taskId < = 0) { taskId = 1; } database.execSQL ( "INSERIR NO BIRTHDAY(NAME,CATEGORY,DOB) VALUES(?,?,?)", bindValue); } Public ArrayList getData (contexto c, objeto bindValue[]) { ArrayList taskNameList = new ArrayList(); Tente { Database = banco de dados = getReadableDataBase(c); Resultados de cursor = database.rawQuery ("SELECT * de aniversrio", null); se (results.moveToFirst()) { para (;! results.isAfterLast(); results.moveToNext()) { taskNameList.add(results.getString(1) + "-" + results.getString(3)); } } } catch (Exception e) { Log.e ("App de tarefas", "No possvel para atualizar tarefas.", e); } {Finalmente retornar taskNameList; } } public boolean removeData (contexto c, objeto bindValue[]) { Tente { Database = banco de dados = getReadableDataBase(c); database.execSQL ("DELETE FROM aniversrio onde ID no (?)", bindValue); } catch (Exception e) { Log.e ("Remove os dados", "Incapaz de excluir ID.", e); } {Finalmente retornar true;

} } } Espero que este seja til para voc