· 4 years ago · Jun 14, 2021, 08:36 PM
1class API {
2 fun getData(city: String): WeatherModel? {
3 val retrofit = Retrofit.Builder()
4 .baseUrl(baseUrl)
5 .addConverterFactory(GsonConverterFactory.create())
6 .build()
7 val weatherForecast = retrofit.create(WeatherForecast::class.java)
8 val call = weatherForecast.get(city, key)
9 var myCallback = MyCallback()
10 call.enqueue(myCallback)
11 return myCallback.weatherModel
12 }
13}
14
15class MyCallback: Callback<WeatherModel> {
16 var weatherModel: WeatherModel? = null
17 override fun onResponse(call: Call<WeatherModel>, response: Response<WeatherModel>) {
18 if (!response.isSuccessful) {
19 return
20 }
21 weatherModel = response.body()
22 }
23
24 override fun onFailure(call: Call<WeatherModel>, t: Throwable) {
25 return
26 }
27}