2016-08-03 50 views
0

我想使用改進庫來製作一個簡單的天氣應用程序。我希望這個城市的名字是動態的。這是我迄今所做的:使用改造將動態值傳遞給url

完整的URL:

http://api.openweathermap.org/data/2.5/forecast/daily?q=dhaka&cnt=7&appid=1111 

基地網址:

http://api.openweathermap.org/ 
的主要活動

LinkedHashMap<String,String>data=new LinkedHashMap<>(); 
    data.put("q",targetCity); 
    data.put("cnt",Integer.toString(7)); 
    data.put("appid",getString(R.string.api_key)); 
    Call<WeatherResponse>weatherResponseCall=weatherServiceApi.getAllWeatherReport(data); 

,並在我的API接口

@GET("data/2.5/forecast/daily?") 
Call<WeatherResponse>getAllWeatherReport(@QueryMap LinkedHashMap<String,String>data); 

我既沒有收到任何錯誤,也沒有收到任何回覆數據。 請幫忙。

+0

你能接受我的答案,如果它可以幫助你?謝謝 :) – Jaythaking

回答

0

你是不是執行調用函數...

WeatherResponse response = call.execute().body(); 

如果我是你,我會嘗試使用ResponseBodyokhttp得到返回的數據。然後使用response.string()可以看到從請求中檢索到的內容。

或者,要記錄每個請求/響應建立你改造的對象時,你應該加入這個攔截的身體數據:

OkHttpClient client = httpClient.addInterceptor(interceptor.setLevel(HttpLoggingInterceptor.Level.BODY)) 
     .build(); 
Retrofit retrofit = builder.client(client).build(); 
return retrofit.create(serviceClass);