ForecastByZipCodeRequest.kt 729 B

123456789101112131415161718192021
  1. package com.ted.weather.data.server
  2. import android.util.Log
  3. import com.google.gson.Gson
  4. import java.net.URL
  5. class ForecastByZipCodeRequest(val zipCode: Long, val gson: Gson = Gson()) {
  6. companion object {
  7. private val APP_ID = "cacfc04fbae471861e7d282149e2aa0f"
  8. private val URL = "http://api.openweathermap.org/data/2.5/forecast/daily?mode=json&units=metric&cnt=7"
  9. private val COMPLETE_URL = "$URL&APPID=$APP_ID&q="
  10. }
  11. fun execute(): ForecastResult {
  12. Log.d("xiongwei",COMPLETE_URL + zipCode)
  13. val forecastJsonStr = URL(COMPLETE_URL + zipCode).readText()
  14. Log.d("xiongwei",forecastJsonStr)
  15. return gson.fromJson(forecastJsonStr, ForecastResult::class.java)
  16. }
  17. }