Baixe o app para aproveitar ainda mais
Prévia do material em texto
Programação para dispositivos moveis Fabiano Gonçalves dos Santos Aula 8 1 http://www.elandroidelibre.com/wp-content/uploads/2012/08/question.png Como fazemos para armazenar dados no celular? 2 Programação para dispositivos móveis Fabiano Gonçalves dos Santos Aula 8 Persistência Salvar Dados na memória secundária do device Recuperar dados mesmo depois de finalizar o app 3 Programação para dispositivos móveis Fabiano Gonçalves dos Santos Aula 8 4 Programação para dispositivos móveis Fabiano Gonçalves dos Santos Aula 8 SQLITE http://www.sqlite.org http://www.sqlite.org/docs.html Usa SQL http://www.w3schools.com/sql/ 5 Programação para dispositivos móveis Fabiano Gonçalves dos Santos Aula 8 6 SQLITE É estruturado como Content Provider Bases privadas Cada app tem a sua Ou atribui permissões especiais Programação para dispositivos móveis Fabiano Gonçalves dos Santos Aula 8 7 SQLite Caminho pré-definido no app /data/data/<nome_do_pacote>/databases Programação para dispositivos móveis Fabiano Gonçalves dos Santos Aula 8 8 SQLite (Tipos de Dados) NULL: valores nulos. INTEGER: para armazenamento de números inteiros. REAL: para manipulação de valores ponto-flutuante (por exemplo, double, float). TEXT: para dados textuais BLOB: armazenamento de objetos binários (arquivos, imagens, vídeos, entre outros). Programação para dispositivos móveis Fabiano Gonçalves dos Santos Aula 8 9 SQLite (Tipos de Dados) CREATE TABLE pessoa ( id INTEGER PRIMARY KEY AUTOINCREMENT, nome TEXT, endereco TEXT, peso REAL, altura REAL ); Programação para dispositivos móveis Fabiano Gonçalves dos Santos Aula 8 10 SQLite (Tipos de Dados) public class DatabaseHelper extends SQLiteOpenHelper{ //ATRIBUTOS private static final String DATABASE_NAME = "exemplo"; private static final int DATABASE_VERSION = 1; private final String CREATE_TABLE_PESSOA= "CREATE TABLE pessoa ( id INTEGER PRIMARY KEY AUTOINCREMENT, nome TEXT, endereco TEXT, peso REAL, altura REAL ); "; Programação para dispositivos móveis Fabiano Gonçalves dos Santos Aula 8 11 SQLite (Tipos de Dados) //CONSTRUTOR public DatabaseHelper(Context context){ super( context, //contexto da App DATABASE_NAME, //nome do banco de dados null, //cursor para manipulação DATABASE_VERSION //versão do banco de dados ); } // MÉTODO onCreate @Override public void onCreate(SQLiteDatabase db) { db.execSQL(CREATE_TABLE_PESSOA); } Programação para dispositivos móveis Fabiano Gonçalves dos Santos Aula 8 12 SQLite (Tipos de Dados) // MÉTODO onUpgrade @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { db.execSQL("DROP TABLE IF EXISTS pessoa"); onCreate(db); } } Programação para dispositivos móveis Fabiano Gonçalves dos Santos Aula 8 13 SQLite (Tipos de Dados) public int inserir(){ String SQL = "INSERT INTO pessoa (nome,endereco,peso,altura) VALUES (?,?,?,?)"; SQLiteDatabase db = this.getWritableDatabase(); SQLiteStatement cmd = db.compileStatement(sql); //Parâmetros cmd.bindString(1, "João da Silva"); cmd.bindString(2, "Rua Niteroi, 1234"); cmd.bindDouble(3, 92.5); cmd.bindDouble(4, 1.95); //Insere o registro e retorna o ID gerado return cmd.executeInsert(); } Programação para dispositivos móveis Fabiano Gonçalves dos Santos Aula 8 14 SQLite (Tipos de Dados) ContentValues obj = new ContentValues(); obj.put(“nome”,”João da Silva”); obj.put(“endereco”,”Rua Niteroi, 1234”); obj.put(“peso”, 92.5); obj.put(“altura,1.95); Programação para dispositivos móveis Fabiano Gonçalves dos Santos Aula 8 15 Programação para dispositivos móveis Fabiano Gonçalves dos Santos Aula 8 15 16 Programação para dispositivos móveis Fabiano Gonçalves dos Santos Aula 8 16 17 Programação para dispositivos móveis Fabiano Gonçalves dos Santos Aula 8 17 18 DatabaseHelper.java Programação para dispositivos móveis Fabiano Gonçalves dos Santos Aula 8 18 19 Programação para dispositivos móveis Fabiano Gonçalves dos Santos Aula 8 19 20 Programação para dispositivos móveis Fabiano Gonçalves dos Santos Aula 8 20 21 Programação para dispositivos móveis Fabiano Gonçalves dos Santos Aula 8 21 22 Obrigado ! Programação para dispositivos móveis Fabiano Gonçalves dos Santos Aula 8
Compartilhar