Baixe o app para aproveitar ainda mais
Prévia do material em texto
“Esvazie sua mente de modelos, formas, seja amorfo como a água. Você coloca a água em um copo, ela se torna o copo. Você coloca a água em uma garrafa, ela se torna a garrafa. Você coloca ela em uma chaleira, ela se torna a chaleira. A água pode fluir, a água pode destruir. Seja água meu amigo.” BRUCE LEE 27 de novembro de 1940 – 20 de julho de 1973 PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS ANDROID + SQLITE SQLITE http://www.sqlite.org É um leve e poderoso banco de dados Os BDs criados nas aplicações ficam em suas pastas data/data/nome_pacote/databases/ Um BD é visível somente a aplicação que o criou Um banco de dados com SQLITE pode ser criado através da própria API Android ou por ferramentas localizadas no site do projeto como SQLitePlus, SQLite Expert Personal e SQLite3 SQLITE Criação do banco de dados Método openOrCreateDatabase(<nome_banco>,<modo_abertura>,<cursor>) String nome_banco : nome do banco de dados int modo : Context.MODE_PRIVATE -> usar o banco somente na aplicação Context.MODE_WORLD_READABLE e Context.MODE_WORLD_WRITEABLE -> para que outras aplicações consigam ler e escrever no banco CursorFactory cursor -> Implementação opcional para instanciar o objeto cursor quando uma busca for realizada SQLiteDatabase db; db = ctx.openOrCreateDataBase(“automoveis”,Context.MODE_PRIVATE,null); SQLITE Inserção de valores Utiliza-se o objeto : android.content.ContentValues: SQLiteDataBase.insert(<tabela>,<nullColumnHack>, <valores>) ContentValues valores = new ContentValues(); valores.put(“marca”,”BMW”); valores.put(“placa”,”jbd-0007”) valores.out(“ano”,”2000”); db.insert(“automoveis”, null, valores); SQLITE Atualização de tabelas Update : db.update(<tabela>, <valores>, <where>, <whereArgs[]>) Tabela: nome da tabela Valores : ContentValues Where : exemplo “id=?” db.update(“automoveis”, valores, “_id=?”, new String[]{id}); // Sendo id uma variável a qual poderá ser passada por parâmetros ou definida como local no programa db.update(“automoveis”, valores, “_id=”+id, null); : update automóvel set marca=“bmw”, placa=“JBD-0007”, ano=“2000” where id = aa; SQLITE Exclusão SQLiteDatabase.delete(<tabela>, <where>, <whereArg>); Deletar um automóvel cujo id = 007: db.delete(“automovel”, “_id=”+007, null); : dele from automóvel where _id=007 SQLITE Pesquisa Para utilizar as pesquisas é necessário utilizar o objeto Cursor para simular o comando de pesquisa SQL : SELECT * FROM <TABELA> .... O método query retorna um objeto do tipo Cursor (android.database.Cursor) o qual permite que sejam percorridos todos os registros retornados; Cursor c = db.query(<distinct>, <tabela>, <colunas>, <seleção>, <selecaoARgs>, <groupBy>, <orderBy>) distinct: boolean utilizado para que o resultado não contenha registros repetidos tabela: String com o nome da tabela colunas: Array de Strings com os nomes das colunas para seleção se for passado array null todas as colunas serão retornadas ->query(..., new String[]{“marca”, “ano”}, ...) seleção: String com a cláusula where para filtrar os registros com null todos serão retornados seleçãoARgs: argumentos “?” do where groupBy: String com o nome da coluna a agrupar orderBy: String com nome da coluna para ordenar CÓDIGO EXEMPLO EventsData.java e Registro Carros SQLiteDatabase banco = null; final String NOMEBANCO = "automoveis"; final String NOMETABELA = "carros"; setContentView(R.layout.activity_cadastro_carro); criarBanco(); public void criarBanco(){ try { banco = openOrCreateDatabase(NOMEBANCO, MODE_PRIVATE, null); String sql; sql = "CREATE TABLE IF NOT EXISTS carros (_id INTEGER PRIMARY" + " KEY AUTOINCREMENT, marca TEXT , " + "modelo TEXT, placa TEXT)"; banco.execSQL(sql); mensagem("BANCO CRIADO COM SUCESSO"); } catch (Exception e) { mensagem("ERRO CRIANDO O BANCO :" + e.toString()); Log.e("ERRO CRIANDO BANCO", e.toString()); } Método mensagem e gravar public void mensagem(String m){ AlertDialog.Builder alerta = new AlertDialog.Builder(this); alerta.setMessage(m); alerta.setNeutralButton("OK", null); alerta.show(); } public void gravar(View v){ } Método inserir public void inserir(){ try { banco = openOrCreateDatabase(NOMEBANCO, MODE_PRIVATE, null); String sql; sql = "INSERT INTO TABLE carros (marca,modelo,placa) " + "VALUES ('marca bla', 'modelo blabla', 'placa-blablabla')"; banco.execSQL(sql); mensagem("INSERIDO COM SUCESSO NO BANCO"); } catch (Exception e) { mensagem("ERRO AO INSERIR NO BANCO : " + e.toString()); Log.e("Erro ao inserir", e.toString()); } } Classe Carro public class Carro { private String marca; private String modelo; private String ano; private String placa; Xml cadastro Carro <TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Large Text" android:textAppearance="?android:attr/textAppearanceLarge" /> <EditText android:id="@+id/editText1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:ems="10" > <requestFocus /> </EditText> Xml cadastro Carro <TextView android:id="@+id/textView2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Large Text" android:textAppearance="?android:attr/textAppearanceLarge" /> <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="gravar" android:text="Button" /> </LinearLayout> ESTUDAR .... ESTUDAR ... PRATICAR ... PRATICAR ... http://developer.android.com/intl/pt-br/guide/topics/data/data-storage.html https://github.com/android/platform_development http://www.java2s.com/Code/Android/Database/SearchableDictionary.htm http://www.java2s.com/Code/Android/Database/UseSQLiteDatabase.htm http://www.java2s.com/Code/Android/Database/InsertDataintodatabase.htm https://android.googlesource.com/platform/development/+/67545123a4188c714fbcf24e7fe1cf1f614b610c/ samples/SearchableDictionary/src/com/example/android/searchabledict/Dictionary.java http://developer.android.com/training/material/index.html PROJETO DE APK carRegister.apk CADASTRO DE CARROS Criar uma LISTACTIVITY a qual será responsável por listar sempre todos os carros que estão no banco de dados já previamente cadastrados, nesta tela precisaremos criar um menu que puxa os botões de cadastro de um novo carro e pesquisa Criar uma outra Activity a qual será responsável pelo cadastro de carros no banco de dados Criar uma Activity que será a tela de pesquisa responsável por receber um parâmetro de pesquisa e listar e mostrar na mesma tela ou em outra tela o item pesquisado Criar a classe de modelo Automóvel Criar o banco de dados via aplicação e implementar os métodos para pesquisa, inserção, atualização dos dados. FIM
Compartilhar