IDE utilizada: Android Studio 3.1.3
Linguagem: JAVA
Libs: Retrofit, GSON
SDK min: 19
API: Yahoo Weather
-
Baixe o apk clicando AQUI, e instale em um dispositivo Android.
-
Baixe o projeto compactado clicando AQUI e descompacte em seu computador, será necessário ter o Android Studio instalado, de preferencia o 3.1.3. Após descompactar, inicie o Android Studio e abra o projeto, em seguida mande executar em um dispositivo físico ou em um emulador.
-
Faça um clone do projeto no GitHub utilizando este link: https://github.com/thgcode0101/TruckPadWeather.git
Será necessário ter o Android Studio instalado, de preferencia o 3.1.3. Abra o Android Studio vai em VCS > Checkout from Version Control > GitHub, cole o link em Git Repository URL e clique em Clone em seguida mande executar em um dispositivo físico ou em um emulador.
-
Ao iniciar o App a primeira vez vem uma solicitação de permissão para que o app tenha acesso a localização do dispositivo.
-
Após isso criei um método para verificar se o GPS está ativado, caso não esteja, através de uma Intent é feita uma chamada implícita de uma tela para que seja ativado o GPS.
-
Com o GPS ativado é chamado um metodo que pega a posição do dispositivo utilizando a classe LocationListener.
-
Com a Latitude e Longitude do dispositivo são passadas como parâmetro para um método que é responsável por fazer a chamada a API do YahooWeather, a comunicação é feita utilizando o Retrofit.
O resultado desta chamada são JSON e são armazanados em suas respectivas Classes. Criei uma outra Classe WeatherResult com apenas as informações que quero desta resposta como atributos. Passei a objeto WeatherResult via putExtra para a proxima Activity WeatherActivity. -
A Activity WeatherActivity recebe o objeto e assim apresenta as informações obtidas na resposta da comunicação com a API.