Slide 1

Slide 1 text

MINI WORKSHOP Android e REST Web Services Junho de 2015

Slide 2

Slide 2 text

@ubiratanfsoares +UbiratanSoares

Slide 3

Slide 3 text

ATENÇÃO ! Esse workshop está dividido em etapas e recomendamos não pular qualquer etapa. A condição para avançar é a aplicação estar funcionando corretamente no dispositivo, dados os critérios pedidos até a etapa atual.

Slide 4

Slide 4 text

PRELIMINARES Acessar a documentação da API da Sabesp e avaliar os dados que são disponibilizados, fazendo algumas consultas github.com/rafaell-lycan/sabesp-mananciais-api https://sabesp-api.herokuapp.com/v2/

Slide 5

Slide 5 text

SETUP Um projeto simples, com o primeiro layout …

Slide 6

Slide 6 text

ETAPA 01 Criar um único Fragment para representar a tela com as Views definidas no XML do layout e criar o código necessário para visualizar essa tela.

Slide 7

Slide 7 text

ETAPA 02 Criar um ou mais objetos de modelo para representar as informações de um sistema hídrico e fazer com que o Fragment seja inicializado com esses dados

Slide 8

Slide 8 text

ETAPA 03 Adicione um ViewPager na tela principal e utilize o PagerAdapter correto para populá-lo. Adicionalmente, substitua a inicialização dos modelos com valores aleatórios.

Slide 9

Slide 9 text

ETAPA 04 Acessar o site do Retrofit, estudar os exemplos básicos e adicionar essa dependência no projeto square.github.io/retrofit

Slide 10

Slide 10 text

ETAPA 05 Modelar a API da Sabesp com Retrofit e executar a requisição mais trivial o possível. Visualizar retorno no Logcat ajustando o LogLevel adequado.

Slide 11

Slide 11 text

ETAPA 06 Acessar o repositório do EventBus para entender a proposta do Publisher/ Subscriber Pattern. Adicione essa dependência no seu projeto github.com/greenrobot/EventBus

Slide 12

Slide 12 text

ETAPA 07 Deserializar as informações de retorno da API utilizando Gson. Comunicar resultados via EventBus.

Slide 13

Slide 13 text

LIÇÃO DE CASA

Slide 14

Slide 14 text

ETAPA 08 Adicionar um ProgressarBar para ser exibido enquanto as informações são carregadas.

Slide 15

Slide 15 text

ETAPA 09 Adicionar um picker padrão de data como ação da Toolbar e fazer as alterações para que consultas por datas específicas possam ser realizadas. Alterar o layout para que a data de referente aos dados seja exibida.

Slide 16

Slide 16 text

ETAPA 10 Implementar mecanismo para validação de datas possíveis de serem consultadas pela API

Slide 17

Slide 17 text

ETAPA 11 Adicionar um pequeno texto de blankstate para o caso de chamadas mal sucedidas na API.

Slide 18

Slide 18 text

ETAPA 12 Adicionar uma tela em landscape para exibir de modo mais adequado as informações de cada represa para o usuário.

Slide 19

Slide 19 text

ETAPA 13 Implementar mecanismos de persistência de estado de modo que a rotação do aparelho não quebre o fluxo do usuário na aplicação.

Slide 20

Slide 20 text

ETAPA 14 Utilizando a nova Design Support Library do Android, implementar abas que acompanhem o movimento do ViewPager, adicionado o nome de cada represa como título da aba developer.android.com/tools/support-library/features.html#design