7. Finalizando
Neste projeto, adquirimos conhecimento sobre três recursos fundamentais no desenvolvimento de aplicativos Android: o uso de web services, a implementação de RecyclerView e a utilização de AsyncTask.
Para efetuar solicitações a um web service, exploramos a classe HttpURLConnection. Através de objetos URL, estabelecemos a comunicação com o serviço e recebemos a resposta em uma stream de entrada (InputStream). Demonstrei o processo de receber esses dados e convertê-los em objetos JSONObject.
Lidar com API's demanda compreender o funcionamento de suas solicitações e o formato de resposta JSON. Com essas informações, construímos a lógica da aplicação, como no caso do WeatherApp, onde realizamos solicitações à API da OpenWeatherMap, passando parâmetros como nome da cidade, condições climáticas, padrão de medida e idioma português.
A API retorna uma lista contendo a previsão de 5 dias a cada 3 horas da localização informada. Processamos esses dados e exibimos na tela a previsão do tempo para os próximos cinco dias na cidade indicada.
A utilização do RecyclerView permitiu-nos apresentar uma lista de itens na interface do aplicativo. Este componente, por sua vez, depende de uma classe ArrayAdapter para preencher os itens da lista. No WeatherApp, criamos uma subclasse de ArrayAdapter para preencher os itens da lista com uma visualização personalizada. Dessa forma, os dados da previsão climática são apresentados na tela através de um ícone, descrição do dia, temperaturas máxima e mínima, e umidade.
Por fim, abordamos o uso de AsyncTask para realizar tarefas em paralelo com a thread principal do aplicativo, evitando assim a aparição de caixas de diálogo 'Activity Not Responding (ANR)', que surgem quando o Android identifica que a interface gráfica não está respondendo."