2014-11-19 1 views
0

Я пытаюсь повторно адаптировать приложение для простой погоды (http://code.tutsplus.com/tutorials/create-a-weather-app-on-android--cms-21587) к Google Glass, он возвращает объект json на Android и работает, но в моем стекле Google, когда я хочу использовать getCity функция, у меня ошибка исключения нулевого указателя.Google Glass SimpleWeatherApp функция getCity возвращает null

Моя функция getCity такая же, как тот, в SimpleWeatherApp

public String getCity(){ 

    return prefs.getString("city", "Jerusalem, IL"); 
} 

Theres является 3 Файлы Java, 2 класса и 1 активность.

Citypreference, чтобы вернуть город и получить город.

RemoteFetch добиться от JSon объекта

Основная деятельность построить вид на стекле Google и показать информацию о том, что мне нужно.

Я могу поделиться с вами всем проектом, если вы хотите получить дополнительную информацию.

вот часть моего содержания MainActivity частное Посмотреть buildView() { CardBuilder карта = новый CardBuilder (это, CardBuilder.Layout.TEXT); card.setText (R.string.open_weather_maps_app_id); // updateWeatherData (новый CityPreference (getActivity()). GetCity());

updateWeatherData(new CityPreference().getCity()); 
     return card.getView(); 
} 


private void updateWeatherData(final String city){ 
    new Thread(){ 
     public void run(){ 
      final JSONObject json = RemoteFetch.getJSON(MainActivity.this.getApplicationContext(),city); 
      if(json == null){ 
       handler.post(new Runnable(){ 
        public void run(){ 
         Toast.makeText(MainActivity.this, 
           MainActivity.this.getString(R.string.place_not_found), = SO JSON NULL 
           Toast.LENGTH_LONG).show(); 
        } 
       }); 
      } else { 
       handler.post(new Runnable(){ 
        public void run(){ 
         renderWeather(json); 
        } 
       }); 
      } 
     } 
    }.start(); 
} 

Итак, это означает, что мой объект json имеет значение null. Для remotefetch.java вы можете найти его в ссылке SimpleWeatherApp на верхней части моего поста

+0

ли вы инициализировать 'prefs'? – BackSlash

+0

Возможный дубликат [Что такое исключение Null Pointer Exception и как его исправить?] (Http://stackoverflow.com/questions/218384/what-is-a-null-pointer-exception-and-how-do -i-fix-it) – BackSlash

ответ

0

Измените код в соответствии с

public String getCity(){ 

    if(prefs != null) 
     return prefs.getString("city", "Jerusalem, IL"); 

    return "city_not_initialized"; 
} 

Или доля больше кода

+0

Теперь у меня есть новая ошибка, но это то, что я написал, так что это хорошо: (извините, никаких метеоданных не найдено) Я отредактирую основное сообщение, чтобы поделиться больше информации – stmorray

+0

@ user3272072 Как я см. ссылку, опубликованную вами [ссылка] (http://code.tutsplus.com/tutorials/create-a-weather-app-on-android--cms-21587), конструктору CityPreference требуется действие. Вы сделали другой CityPref? Если да, пожалуйста, вставьте этот код как welll – SimpleGuy

+0

@ user3272072 Извините .. Я вижу, что вы написали его дважды, так что запутались ... читать ... – SimpleGuy