YouTube

Got a YouTube account?

New: enable viewer-created translations and captions on your YouTube channel!

Portuguese, Brazilian subtitles

← Talking about our JOIN

Get Embed Code
5 Languages

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

  1. Quando definimos inicialmente nossas tabelas,
  2. definimos o relacionamento entre elas
    em termos de restrições.
  3. Vou mostrar como implementamos
    esse relacionamento em nossa
  4. consulta usando um JOIN.
  5. Esse JOIN permite que
    consultemos os valores da tabela de previsão do tempo
  6. a partir de uma configuração específica de localização.
  7. No caso do Sunshine,
    o usuário define isso em Preferences.
  8. Você vai observar que há
    uma variável da classe SQLiteQueryBuilder no topo
  9. do WeatherProvider.
  10. Como você pode imaginar,
    essa classe ajuda a criar consultas e
  11. é de fato usada como base para as
  12. funções de consulta que você já
    usou na classe de banco de dados SQLite.
  13. Inicializamos o SQLiteQueryBuilder
    no construtor estático da classe,
  14. descrevendo a junção entre as duas tabelas.
  15. SetTables preenche o conteúdo a
    partir da consulta SQL.
  16. Observe que as duas tabelas têm
    um campo com um ID sublinhado.
  17. Precisamos usar explicitamente o nome da tabela
    de forma a indicar
  18. a qual ID estamos nos
    referindo na junção.
  19. Definimos então a seleção.
  20. O que é feito com uso
    da sintaxe de substituição do ponto de interrogação.
  21. Os parâmetros de seleção
    irão substituir esses valores.
  22. Como você pode ver,
    nossa seleção tem dois parâmetros:
  23. uma definição de localização e uma data.
  24. Temos então uma função para obter
    a previsão do tempo por meio da definição da localização usando
  25. o mesmo construtor de consulta.
  26. Observe que obtemos os parâmetros no
    URI e criamos um array de strings
  27. que serão
    substituídas em nossa consulta.
  28. Fazemos isso para as duas consultas
    que estamos criando desse modo.
  29. Finalmente, incluímos as funções na
    rotina de consulta do provedor de conteúdo
  30. , tanto para WEATHER_WITH_LOCATION_AND_DATE
    como para WEATHER_WITH_LOCATION