Portuguese, Brazilian subtitles

← The State of Things

Get Embed Code
4 Languages

Showing Revision 8 created 06/20/2016 by Udacity Robot.

  1. Aprimoramos a experiência inicial no
    caso de baixa conectividade,
  2. mas o que acontece se o servidor
    de previsão do tempo estiver fora do
  3. ar ou atrás de um portal cativo?
  4. Nesse caso, talvez não tivéssemos os
    dados ou teríamos dados corrompidos
  5. e o usuário
    continuaria sem saber o que está acontecendo.
  6. Vamos enumerar os estados
  7. que queremos comunicar aos
    usuários.
  8. Embora o Java aceite tipos enumerados,
    esses são pesados e ineficientes
  9. quando os comparamos ao uso
    de constantes estáticas de números inteiros.
  10. Então, evite-os
    no Android.
  11. Dito isso, seria legal ter algum
    tipo de segurança e nesse ponto as
  12. anotações adicionadas
    à Biblioteca de Suporte do Android podem ajudá-lo.
  13. Antes de mais nada,
    o que são anotações?
  14. No Java, a indicação de anotação
    começa com o sinal @,
  15. como em @override, usado
    muitas vezes aqui.
  16. Essas contêm informações ou metadados
    associados ao código de nosso
  17. aplicativo, mas não alteram diretamente
    a funcionalidade do código.
  18. Elas são usadas por
    ferramentas de desenvolvimento
  19. e dependendo da forma de retenção
    podem ser lidas em tempo de execução.
  20. Para usar anotações de suporte,
    vamos até o Android Studio
  21. no diálogo Project Structure e
    adicionamos a dependência das anotações de suporte.
  22. Como o número inteiro armazenado
    para nosso estado só pode ter
  23. alguns valores predefinidos,
    seria legal que as ferramentas nos ajudassem.
  24. Capturar atribuições de valores
    não suportados pelo
  25. nosso estado e preencher
    automaticamente a digitação de variáveis desse tipo.
  26. As anotações e a biblioteca
  27. de suporte oferecem essa funcionalidade
    apenas usando a anotação IntDef.
  28. Veja como isso funciona.
  29. Ao definirmos constantes de números
    inteiros, também criamos anotações de interface.
  30. Como neste exemplo do
    aplicativo da Biblioteca PAD,
  31. fazemos essa nova anotação
    com IntDef, que contém
  32. as diferentes constantes do número
    inteiro suportadas.
  33. A política de retenção da fonte avisa
    a cadeia de ferramentas que não
  34. precisamos preservar essa anotação
    na classe ou no tempo de execução.
  35. As anotações não causam impacto
    nem no tempo de execução nem na distribuição.
  36. O IDE sinalizará casos onde tentarmos
    retornar valores fora desse conjunto de
  37. getNavigationMode ou
  38. passar números inteiros não pertencentes
    a esse conjunto para o conjunto, @NavigationModeMethod.
  39. Bem, quais são os estados de
    localização que devemos avaliar?
  40. O primeiro estágio é que
    está tudo bem.
  41. O segundo é que
    nosso servidor está inativo.
  42. O terceiro é falha no
    funcionamento do servidor.
  43. O quarto é que não sabemos se o
    servidor está ativo ou inativo,
  44. porque ainda não entramos
    em contato com ele.
  45. Vamos continuar adicionando estados,
    pois estamos trabalhando para o aplicativo ir para produção.