A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

+ Curso de Android XVIII Jornada de Cursos. + 10. Persistência.

Apresentações semelhantes


Apresentação em tema: "+ Curso de Android XVIII Jornada de Cursos. + 10. Persistência."— Transcrição da apresentação:

1 + Curso de Android XVIII Jornada de Cursos

2 + 10. Persistência

3 + Programação com banco de dados O Android tem suporte nativo a um banco de dados relacional: o SQLite (http://www.sqlite.org ).http://www.sqlite.org Isto facilita muito o trabalho de armazenamento e leitura de dados no dispositivo. Ao contrário de JME, o Android permite que dados sejam armazenados e recuperados da base de dados através de comandos SQL;

4 + Programação com banco de dados Além de que a base de dados existe fisicamente, podendo ser copiada do dispositivo para uma unidade de backup, por exemplo Ou ainda, o banco de dados pode ser instalado no dispositivo já com os dados pré-carregados etc.

5 + Criando o banco de dados O comando abaixo cria o banco de dados, ou retorna a referência para o mesmo, caso já tenha sido criado. myDB = getApplicationContext(). openOrCreateDatabase( DATABASE_NAME, MODE_PRIVATE,null);

6 + A linguagem SQL O SQL foi desenvolvido para ser uma linguagem padrão para operações com Banco de Dados. A linguagem SQL foi elaborada para ser independente de hardware ou do software. Ao usar o SQL, você não precisa saber a respeito do software de banco de dados ou do hardware envolvido em uma operação. Tudo o que você precisa conhecer são os comandos/instruções SQL padrão para solicitar informações, que obrigatoriamente é o mesmo em todos os sistemas que utilizam o SQL.

7 + CREATE TABLE O comando CREATE TABLE é usado para criar uma tabela em um banco de dados. CREATE [TEMPORARY] TABLE IF NOT EXISITS [tabela] ([ [coluna1] [tipo de dado1] {NULL|NOT NULL}...])

8 + INSERT O comando INSERT é usado para adicionar um ou mais registros em tabela de um banco de dados. INSERT INTO tabela (coluna1, [coluna2,...]) VALUES (valor1, [valor2,...])

9 + UPDATE O comando UPDATE é usado para atualizar registros em uma ou mais tabelas do banco de dados. UPDATE tabela SET campo1 = valor1 [,campo2 = valor2,...] [WHERE condição]

10 + DELETE O comando DELETE é utilizado para remover um ou mais registros de uma tabela no banco de dados. DELETE FROM tabela [WHERE condição]

11 + SELECT O comando SELECT é utilizado para recuperar um conjunto de registros de uma ou mais tabelas. Ela recupera zero ou mais linhas, dependendo das condições colocadas. SELECT [DISTINCT] * | expressão [ AS nome_saída ] [,...] [ FROM tabela1 [t1, tabela2 t2...] [ WHERE condição ] [ GROUP BY expressão [,...] ] [ ORDER BY expressão [ ASC | DESC] [,...] ] [ LIMIT { contador | ALL } ]

12 + Exemplos de SQL usando Android O comando abaixo pode ser usado para executar as funções do banco de dados: É importante ressaltar que este comando deve ser usado para consultas que NÃO retornam dados (todas as outras, exceto o SELECT). myDB.execSQL(String query)

13 + Exemplos de SQL usando Android Para executar um SELECT, utilizamos o seguinte método: myDB.query(boolean distinct, String table, String[] columns, String selection, String[] selectionArgs, String groupBy, String having, String orderBy, String limit);

14 + Exemplos de SQL usando Android Como exemplos, iremos mostrar o comportamento da função com os comandos INSERT e SELECT. String TABLE_NAME = "pessoa"; String nome = "Nome"; String sobreNome = "Sobrenome" ; String pais = "Pai e Mãe"; Integer idade = 22; myDB.execSQL( "INSERT INTO" +TABLE_NAME +"(nome, sobrenome, pais, idade)" +" VALUES " +"('" + nome + "'," +"'" + sobreNome + "'," +"'"+ pais + "'," +idade + ");");

15 + Exemplos de SQL usando Android Cursor c = myDB.query(TABLE_NAME,newString[] {"nome", "sobrenome", "pais", "idade"},null,null,null,null,null); if(c !=null) { while( ! c.isAfterLast() ) { if( c.getPosition() == -1 ) {c.moveToFirst();} int posColunaNome = c.getColumnIndex("nome"); int posColunaSobreNome = c.getColumnIndex("sobrenome"); int posColunaPais = c.getColumnIndex("pais"); int posColunaIdade = c.getColumnIndex("idade"); String nome = c.getString(posColunaNome); String sobrenome = c.getString(posColunaSobreNome); String pais = c.getString(posColunaPais); intidade = c.getInt(posColunaIdade); }

16 + Melhorando! Voltemos mais uma vez para a nossa aplicação de cadastro (a primeira versão); Faça com que a aplicação armazene os dados em um banco de dados dentro do dispositivo Android;

17 + Melhorando! [2] Implemente um mecanismo que faça a sincronização do banco de dados remoto (usado nos exemplos de Internet) com o banco de dados local. Implemente uma tela de atualização, com um botão para realizar a ação e um texto indicando a quantidade de registros no banco de dados;

18 + Melhorando! [2] CREATE TABLE IF NOT EXISTS pessoa (nome varchar(100) NOT NULL, idade int (11) NOT NULL, profissao varchar(100) NOT NULL)

19 + Desafio! Implemente um sistema de blog; Ele precisa ter as seguintes funcionalidades: Listar Posts; Inserir Posts com imagens; Comentar um post; Visualizar o comentário em um post; USE BANCO DE DADOS!

20 + Desafio! Restrições: Listar os posts com um ListView que sempre está pegando os dados do BD; Cada ação pede um layout diferente, inclusive um menu inicial; A quantidade de comentários deve ser exibida ao visualizarmos um post; Selecione as imagens de uma galeria e exiba quando visualizarmos um post;

21 + Desafio! CREATE TABLE IF NOT EXISTS post ( id integer PRIMARY KEY AUTOINCREMENT, titulo text NOT NULL, autor text NOT NULL, texto text NOT NULL, foto integer NOT NULL) CREATE TABLE IF NOT EXISTS comentario (id integer PRIMARY KEY AUTOINCREMENT, post_id int eger NOT NULL, texto text NOT NULL, autor text NOT NULL)

22 + 11. Google Maps

23 + Google Maps Um recurso muito interessante no Android é o suporte ao Google Maps. O Google Maps é um serviço acessado através da internet (não é instalado no dispositivo) e que contém mapas do mundo inteiro, sendo também totalmente compatível com o Android.

24 + Google Maps Para que o Google Maps funcione no Android em ambiente de desenvolvimento, é necessário obter uma chave no site do Google. É necessário apenas ter uma conta Google e fazer login. Outro detalhe é que a chave vale apenas para um computador, pois é gerada com base na assinatura digital da máquina.

25 + Obtendo a chave para acessar o Maps Para poder usar o serviço Google Maps, é necessário ter uma chave de autorização devidamente gerada no site do Google; esta chave é gerada gratuitamente. Para obtermos uma chave, portanto, precisamos primeiro obter a assinatura digital da máquina onde está instalado o emulador do Android.

26 + Obtendo a chave para acessar o Maps No prompt de comando: Vá até a pasta bin do JDK. keytool.exe -v -list -alias androiddebugkey -keystore "C:\Users\ \.android\debug.keystore" – storepass android -keypass android

27 + Obtendo a chave para acessar o Maps

28 + Copie o Fingerprint do Certificado MD5 gerado para a sua máquina; De posse do fingerprint, entre no site https://developers.google.com/android/maps- api-signup.html; https://developers.google.com/android/maps- api-signup.html No site, leia os termos da licença e se concordar, marque a opção que está de acordo, cole o certificado obtido na caixa My certificates... e cliquena opção Generate API Key.

29 + Obtendo a chave para acessar o Maps

30 + Será solicitado que você faça login no Google, então, você deve ter uma contaou senão você poderá criá-la neste momento. Faça o login. Sua chave será gerada e exibida pra você na tela, com um exemplo de como utilizar o componenteMapView para exibir o mapa.

31 + Obtendo a chave para acessar o Maps

32 + Construindo uma aplicação simples Project Name: ProjetoMapaSimples Build Target: Google APIs (2.3.3) Application name: MapaSimplesAndroid Package name: br.ufpe.cin.android.appmaps Create Activity: Principal Min SDK Version: 10

33 + Construindo uma aplicação simples Insira as tags: ANTES da tag DENTRO da tag

34 + Construindo uma aplicação simples main.xml

35 + Construindo uma aplicação simples Principal.java: super.onCreate(savedInstanceState); setContentView(R.layout.main); MapView mapa = (MapView) findViewById(R.id.mapView); protected Boolean isRouteDisplayed() { return false ;} public class Principal extends MapActivity{


Carregar ppt "+ Curso de Android XVIII Jornada de Cursos. + 10. Persistência."

Apresentações semelhantes


Anúncios Google