Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Mini-Workshop : Android e REST WebServices

Mini-Workshop : Android e REST WebServices

Slides de apoio para as duas edições do Live Coding de Android + REST realizadas pelo GDG-SP em maio e junho de 2015.

Ubiratan Soares
PRO

June 26, 2015
Tweet

More Decks by Ubiratan Soares

Other Decks in Programming

Transcript

  1. MINI WORKSHOP
    Android e REST Web Services
    Junho de 2015

    View Slide

  2. @ubiratanfsoares
    +UbiratanSoares

    View Slide

  3. 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.

    View Slide

  4. 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/

    View Slide

  5. SETUP
    Um projeto simples, com
    o primeiro layout …

    View Slide

  6. 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.

    View Slide

  7. 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

    View Slide

  8. 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.

    View Slide

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

    View Slide

  10. 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.

    View Slide

  11. 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

    View Slide

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

    View Slide

  13. LIÇÃO
    DE CASA

    View Slide

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

    View Slide

  15. 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.

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  19. 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.

    View Slide

  20. 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

    View Slide