2014-11-16 5 views
1

Я создаю приложение, которое будет сообщать о погодных условиях города, используя OpenWeatherMap.org api. В этом приложении я разрешаю пользователю писать название города, и данные будут извлекаться из Интернета. Но что, если пользователь вошел в неправильный город.Как сообщить, что Город неправилен в OpenWeatherMap api и в android

Например, если пользователь вошел в Ломдон вместо Лондона.

Что делать в этом случае. Используемый Api - «http://api.openweathermap.org/data/2.5/weather?q=» + название города

Заранее спасибо за помощь, я новичок в разработке android.

+0

вы можете показать ему сообщение об ошибке во время разбора json, но предпочитайте не допускать ошибок (добавьте auto complete, список со всеми городами) –

ответ

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