2014-11-16 102 views
1

我正在創建一個應用程序,該應用程序將使用OpenWeatherMap.org API來告訴城市的天氣狀況。在這個應用程序中,我讓用戶寫一個城市名稱,數據將從網頁中獲取。但是如果用戶輸入了錯誤的城市呢?如何判斷城市在OpenWeatherMap api和Android中是否不正確

例如,如果用戶輸入Lomdon而不是倫敦。

在這種情況下我應該怎麼做。我正在使用的Api是 「http://api.openweathermap.org/data/2.5/weather?q=」+城市名稱

在此先感謝您的幫助,我是Android開發新手。

+0

您可以在解析json時向他顯示錯誤消息,但不要讓錯誤發生(添加自動完成,列出所有城市) –

回答

0

如果城市不正確,您的API會返回錯誤消息。你可以檢查它像這樣:

http://api.openweathermap.org/data/2.5/weather?q=Lomdon

try { 
     String msg = jsonObject.getString("message"); 
     if (msg.equalsIgnoreCase("Error: Not found city")) { 
      Log.e("TAG", "City not found"); 
     } else { 
      // Use the data 
     } 
    } catch (JSONException e) { 
     e.printStackTrace(); 
    } 

我沒有使用cod它看起來像返回代碼的原因是,如果城市發現cod是一個int,如果它沒有發現它是一個字符串。那種設計JSON的誤導。

+0

謝謝,這是有效的! – Raddix

相關問題