Este documento apresenta um curso básico sobre desenvolvimento de aplicativos Android. A agenda inclui tópicos como ambiente de desenvolvimento, arquitetura, atividades, layouts, interações com usuário, armazenamento de dados locais e remotos, mapas e sensores. O documento também explica o uso do SQLite para armazenamento local de dados, a classe SQLiteOpenHelper para gerenciamento do banco de dados e fluxo básico de criação, leitura, atualização e exclusão de dados (CRUD). Por fim, é apresentado como realizar chamadas a
2. agenda
13/05/2017
Introdução ao Android
Ambiente de Desenvolvimento
Arquitetura
Estrutura da Aplicação
20/05/2017
Activities, Intents e Intent Filters
Leiautes e Componentes (ViewGroups e Views)
03/06/2017
Iterações Com o Usuário (Eventos)
Permissões de Aplicativo
10/06/2017
Armazenamento de Dados
Chamadas Remotas
24/06/2017
Mapas
Sensores
Publicação no Google Play
4. O SQLite é um banco de dados relacional open-source e fornece suporte para
comandos SQL.
Cada aplicação Android pode criar quantos bancos de dados desejar e eles irão ficar armazenados no
sistema, mas vale lembrar que o banco de dados criado pela aplicação não pode ser acessado nem
visualizado por outra aplicação, apenas pela que o criou.
Para fazer o acesso ao banco de dados SQLite dentro da plataforma Android iremos utilizar uma API de
acesso, a qual já vem no pacote SDK.
Não permite conexão remota diretamente com banco de dados!
SQLite - banco de dados interno
5. uma classe auxiliar para gerenciar a criação de banco de dados e
gerenciamento de versão.
Para usar SQLiteOpenHelper, crie uma subclasse estendida e implementar o
construtor e os métodos onCreate(), onUpgrade().
classe SQLiteOpenHelper
https://developer.android.com/reference/android/database/sqlite/SQLiteOpenHelper.html
6. onCreate(): é chamado quando a aplicação cria o banco de dados pela primeira
vez. Nesse método devem ter todas as diretrizes de criação e população inicial
do banco.
onUpgrade(): é o método responsável por atualizar o banco de dados com
alguma informação estrutural que tenha sido alterada.
classe SQLiteOpenHelper
21. retrieve
o que precisamos construir?
uma nova activity para consulta
um botão para acessar essa activity
adicionar uma listview no leiaute
criar um leiaute para a lista de produtos
31. habilitando o acesso a internet
no androidmanifest.xml …
por não ser considerada uma permissão perigosa, não há necessidade de
requisitá-la em tempo de execução!
32. execução em segundo plano
operações de rede não são permitidas na linha de execução principal da app…
33. criando uma conexão http
Tanto HttpUrlConnection quanto HttpsURLConnection permitem que você execute operações
como adicionar cabeçalhos de requisição e ler as respostas.
34. adicionando cabeçalho na requisição
Para adicionar um cabeçalho em sua requisição, você deve usar o método setRequestProperty() da
classe HttpURLConnection.
35. lendo respostas
A maioria das APIs REST atuais retornam dados formatados como um documento JSON válido.
36. interpretando json
A maneira de extrair uma parte específica das informações do documento JSON depende de sua estrutura.
38. usando outros métodos http
Interfaces REST baseadas em HTTP usam métodos HTTP para determinar o tipo da operação que deve ser
executada em um recurso.
39. bibliotecas de terceiro
achou complicado? existem bibliotecas de terceiro que podemos utilizar …
android volley
https://github.com/google/volley
https://developer.android.com/training/volley/index.html