Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.94/18: Рейтинг темы: голосов - 18, средняя оценка - 4.94
0 / 0 / 0
Регистрация: 30.10.2015
Сообщений: 45

NullPointerException: Attempt to invoke virtual method 'int java.lang.String.length()'

19.11.2015, 15:34. Показов 3554. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вылетает приложение из-за этой ошибки.
Сразу скажу, что я в java вообще нуб
есть класс storage для хранения информации через SharedPreferences
( кстати когда я вызываю getSharedPreferences, каждый раз файл настроек считывается ? эт плохо... )
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
public class Storage {
    private SharedPreferences mSettings;
 
    public Storage(Context context, String Storage_name){
        this.mSettings = context.getSharedPreferences(Storage_name, Context.MODE_PRIVATE);
    }
 
    public Map<String, String> get_all(){
 
        Map<String, String> map = new HashMap<String, String>();
 
        String[] lists =
                this.mSettings.getAll().keySet().toArray(new String[0]);
 
        for (String key : this.mSettings.getAll().keySet()) {
            map.put( key, this.get(key) );
        }
 
        return map;
    }
}
далее в активити
Java
1
2
3
4
5
6
7
8
9
10
11
12
Storage storage_user = storage_user(this, 'user');
 
check_user check_user_obj = new check_user();
 
Map<String, String> params = storage_user.get_all(); // достаем ранее сохраненные параметры
 
  for (Map.Entry<String,String> pair : params.entrySet()){ // проходимся по этим параметрам
    check_user_obj.param_add(  pair.getKey(), pair.getValue()); // добавляем в post запрос параметры
    Log.d("123456", "key = " + key + " , value = " + value);
  }
 
 new net(check_user_obj).execute(); // посылаем http запрос
метод param_add в классе check_user
Java
1
2
3
4
5
private List<BasicNameValuePair> nameValuePairs = new ArrayList<BasicNameValuePair>();
 
final public void param_add(String key, String val){
    this.nameValuePairs.add(new BasicNameValuePair(key, val));
}
отваливается в активити на строке check_user_obj.param_add( pair.getKey(), pair.getValue());

я предположил что java не сохраняет объект string при передаче, а хранит на него ссылку поэтому и теряет ее в цикле (но тогда цепочка ссылок все равно должна вести к первоначальному источнику , по другому бред сивой кобылы, тем более java серьезный вроде язык)

В чем может быть проблема и как ее исправить ?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
19.11.2015, 15:34
Ответы с готовыми решениями:

NullPointerException - Attempt to invoke virtual method 'java.lang.String MainActivity.getString(int)
На 9-м андроиде приложение крашится с разной периодичностью при выполнении одних и тех же действий. Причем, в консоли вообще ничего не...

Ava.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String[] link.stuzer.stattrack.data
// Print out the database as array public String getAllWeapons(){ String dbString = new String; SQLiteDatabase...

Ошибка java.lang.NullPointerException: Attempt to invoke virtual method
Помогите, пожалуйста. Делал приложение на андроид для установки обоев и когда выбираю обои приложение выдает ошибку

11
2884 / 2296 / 769
Регистрация: 12.05.2014
Сообщений: 7,978
19.11.2015, 15:36
Цитата Сообщение от gradus Посмотреть сообщение
Storage storage_user = storage_user(this, 'user');
что это должно значить?
0
0 / 0 / 0
Регистрация: 30.10.2015
Сообщений: 45
19.11.2015, 15:41  [ТС]
Паблито, вы про пропуск, new ? копипастил не акуратно, в коде все норм
Java
1
Storage storage_user = new storage_user(this, 'user');
0
2884 / 2296 / 769
Регистрация: 12.05.2014
Сообщений: 7,978
19.11.2015, 15:43
как можно копипастить и не скопировать new ?
но я не об этом...что такое new storage_user, это класс какой-то?
а где он?
0
0 / 0 / 0
Регистрация: 30.10.2015
Сообщений: 45
19.11.2015, 16:00  [ТС]
Паблито, копипастил кусками (вырезал и переименовывал названия)
вместо:
Java
1
Storage storage_user = storage_user(this, 'user');
в коде:
Java
1
Storage storage_user = new storage(this, 'user');
0
2884 / 2296 / 769
Регистрация: 12.05.2014
Сообщений: 7,978
19.11.2015, 16:01
что такое new storage() это класс какой-то?
а где он?
0
0 / 0 / 0
Регистрация: 30.10.2015
Сообщений: 45
19.11.2015, 16:04  [ТС]
Паблито, самый первый код в моем первом сообщении
0
2884 / 2296 / 769
Регистрация: 12.05.2014
Сообщений: 7,978
19.11.2015, 16:07
там нет класса storage
storage и Storage - совершенно разные названия
короче, научись копировать и вставлять текст, не нужно туда лезть руками и что-то редактировать, таким образом ты пускаешь людей, которые собираются тебе помочь, по ложному пути
и сообщение об ошибке польностью скопируй и покажи, ненадо там ничего править
0
0 / 0 / 0
Регистрация: 30.10.2015
Сообщений: 45
19.11.2015, 16:23  [ТС]
Паблито, я на 99% уверен что вы изначально поняли алгоритм, т.к. речь шла об явной ошибке, а не поиск ее аномальности.
Поэтому делаю выводы что вы либо не в силах мне помочь, либо у вас включен режим принципиального учителя.
В любом случае извиняюсь за кривой копипаст.
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
11-19 16:21:57.452 19271-19271/? E/ActivityThread: Performing stop of activity that is not resumed: {com.example.teh/com.example.teh.MainActivity}
11-19 16:21:57.452 19271-19271/? E/ActivityThread: java.lang.RuntimeException: Performing stop of activity that is not resumed: {com.example.teh/com.example.teh.MainActivity}
11-19 16:21:57.452 19271-19271/? E/ActivityThread:     at android.app.ActivityThread.performStopActivityInner(ActivityThread.java:3450)
11-19 16:21:57.452 19271-19271/? E/ActivityThread:     at android.app.ActivityThread.handleStopActivity(ActivityThread.java:3531)
11-19 16:21:57.452 19271-19271/? E/ActivityThread:     at android.app.ActivityThread.access$1100(ActivityThread.java:156)
11-19 16:21:57.452 19271-19271/? E/ActivityThread:     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1380)
11-19 16:21:57.452 19271-19271/? E/ActivityThread:     at android.os.Handler.dispatchMessage(Handler.java:102)
11-19 16:21:57.452 19271-19271/? E/ActivityThread:     at android.os.Looper.loop(Looper.java:211)
11-19 16:21:57.452 19271-19271/? E/ActivityThread:     at android.app.ActivityThread.main(ActivityThread.java:5389)
11-19 16:21:57.452 19271-19271/? E/ActivityThread:     at java.lang.reflect.Method.invoke(Native Method)
11-19 16:21:57.452 19271-19271/? E/ActivityThread:     at java.lang.reflect.Method.invoke(Method.java:372)
11-19 16:21:57.452 19271-19271/? E/ActivityThread:     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1020)
11-19 16:21:57.452 19271-19271/? E/ActivityThread:     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:815)
0
2884 / 2296 / 769
Регистрация: 12.05.2014
Сообщений: 7,978
19.11.2015, 16:25
Цитата Сообщение от gradus Посмотреть сообщение
я на 99% уверен что вы изначально поняли алгоритм
Цитата Сообщение от gradus Посмотреть сообщение
у вас включен режим принципиального учителя.
точно!
все еще не видя нормального, связанного логически кода я попробую угадать - в map попадает null, а потом при его взятии оттуда возникает ошибка
new BasicNameValuePair(key, val) я не знаю что это за класс, но ему 99% не нравится что в конструктор подают null
0
0 / 0 / 0
Регистрация: 30.10.2015
Сообщений: 45
19.11.2015, 16:29  [ТС]
Паблито,
Java
1
Log.d("123456", "key = " + pair.getKey()+ " , value = " + pair.getValue());
Эта строка тоже в цикле, в логе нет null.
0
2884 / 2296 / 769
Регистрация: 12.05.2014
Сообщений: 7,978
19.11.2015, 16:38
1. эта строка идет ниже check_user_obj.param_add( pair.getKey(), pair.getValue()); так что там все еще возможен null
2. лог ошибки не тот вообще
3. что за класс BasicNameValuePair, а то я его не могу найти?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
19.11.2015, 16:38
Помогаю со студенческими работами здесь

Ошибка: java.lang.NullPointerException: Attempt to invoke virtual method
Что исправить ошибку? java.lang.NullPointerException: Attempt to invoke virtual method 'void...

Java.lang.NullPointerException: Attempt to invoke virtual method именно на версиях начиная с 5
приходят ошибки с телфонов именно начиная с версии андройда от 5 вото сам лог буду рад за ответы ...

NullPointerException: Attempt to invoke virtual method
Добрый день. При попытке создать приложение с SQLite выдает ошибку java.lang.NullPointerException: Attempt to invoke virtual method...

Attempt to invoke virtual method on a null
Есть 2 класса. В 1-классе вызываю метод 2-класса. И ошибка: 06-25 10:26:50.207 10459-10459/com.example.evgeny.ShoppingBudget...

Ошибка Attempt to invoke virtual method on a null object reference
Здравствуйте, создаю приложение, которое работает с firebase. При отправке сообщения приложение вылетает public class Tab3Activity...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru