O documento discute webservices e a arquitetura REST. Explica que serviços REST expõem informações através de URLs representativas usando os métodos HTTP e transmitem dados em formato JSON. Também fornece um exemplo de como acessar uma API REST da Google Books e retornar resultados em JSON.
2. Webservices
2
Uso de serviços remotos disponibilizados por
outras aplicações.
Integração
3. Webservices - REST
3
Tem se consolidado como padrão quando se trata
de disponibilizar serviços na web.
Características:
Utilizar os métodos do protocolo HTTP para representar as
operações que pode ser executadas pelo serviço;
Expor as informações através de URLs representativas,
similar a uma estrutura de diretórios;
O serviço não deve armazenar estado entre requisições;
Transmitir os dados em formato XML e/ou JSON;
O uso de hypermedia para representar possíveis
transições.
4. Webservices - REST
4
Temos então é uma URL que, quando
acessada, utilizando o método HTTP correto e
os parâmetros necessários, retorna dados em
formato texto.
5. JSON
5
Para trafegar as informações, poderosa usar
JSON, JavaScript Object Notation
formato simples de texto utilizado para
representar dados, voltado principalmente para a
conversão de dados estruturados para a forma
textual
6. Exemplo de Serviço
6
Google Books API.
Informações sobre livros
Para ver como funciona um serviço REST e
verificar os dados retornados em formato JSON.
Para testar, acesse a seguinte URL:
https://www.googleapis.com/books/v1/volumes
?q=android
7. Exemplo
7
Implementar um aplicativo que realiza
consultas em Webservices.
Uso de tarefas assíncronas, AsyncTasks, do
Android para realizar requisições HTTP com o
objetivo de não travar a aplicação enquanto o
acesso ao WS é realizado.
10. Acessando Webservice
10
Não devemos acessar a rede a partir da
thread que está rodando a activity (UI thread).
Isto bloquearia a interface gráfca
e poderia causar o erro de Application Not
Responding (ANR).
11. Acessando Webservice
11
Para essa situação, o Android disponibiliza
através da classe AsyncTask uma forma simples
de criar tarefas assíncronas que executam
operações em background (em outra thread) e
que podem publicar os resultados da operação na
UI thread.
Dentro da classe que busca do Webservice,
vamos criar uma classe privada que estende de
AsyncTask, para invocar o serviço.
15. AsyncTask
15
Possui quatro etapas (métodos):
onPreExecute
invocado na UI thread antes da tarefa ser executada
doInBackground
é invocado em uma outra thread e é onde a operação
deve
ser implementada. Único método obrigatório.
onProgressUpdate
este método é invocado na UI thread após o
publishProgress ser executado
onPostExecute
também invocado na UI thread, este método recebe o
Result como parâmetro e faz as atualizações de tela
necessárias
18. Acessando Webservice
18
Classe Util
realizar uma requisição HTTP para uma URL,
que será montada a partir dos termos de busca
informados como parâmetro e em seguida,
processaremos a reposta obtida que está vem
formato JSON, criando um String[] com os dados.
23. Exercício
23
Crie uma classe que acesse o WebService
dos correios e busque informações por CEP.
Exiba os resultados em uma ListView.
24. Referências
24
Google Android. Crie Aplicações para
Celulares e Tablets. Monteiro, J. Bosco. Casa
do Código.
Desenvolvimento Mobile com Android. K19
Treinamentos.
Android Developers. Disponível em:
http://developer.android.com/.