Java lang nullpointerexception android

Java lang nullpointerexception android

I’m building one of my very first apps, this time I’m using Android Studio 1.5.

The app is a very simple web browser, for which I already had to make a lot of fixes. Everything was working fine until I decided that pressing the "enter" key would be simpler and more convenient than clicking on a dumb "go" button.

Oh boy wasn’t I wrong

The app builds fine, but once I launch it to my phone, it crashes immediately.

below is my MainActivity.java and below that is the exception generated.

As you probably can see, I already checked extensively for "null" object attributes, and the error persists

—EXCEPTION— I don’t even think this is what I should be providing

Что такое исключения Null Pointer ( java.lang.NullPointerException ) и что их вызывает?

Какие методы / инструменты могут использоваться для определения причины, чтобы исключить исключение из-за преждевременного прекращения работы программы?

12 ответов

Когда вы объявляете ссылочную переменную (т. е. объект), вы действительно создаете указатель на объект. Рассмотрим следующий код, в котором вы объявляете переменную примитивного типа int :

В этом примере переменная x является int , и Java инициализирует ее для 0. Когда вы назначаете его 10 во второй строке, ваше значение 10 записывается в ячейку памяти, на которую указывает x.

Но когда вы пытаетесь объявить ссылочный тип, произойдет что-то другое. Возьмите следующий код:

Первая строка объявляет переменную с именем num , но она не содержит примитивного значения. Вместо этого он содержит указатель (потому что тип Integer является ссылочным типом). Поскольку вы еще не указали, что указать на Java, он устанавливает значение null, что означает «Я ничего не указываю».

Во второй строке ключевое слово new используется для создания экземпляра (или создания ) объекту типа Integer и переменной указателя num присваивается этот объект. Теперь вы можете ссылаться на объект, используя оператор разыменования . (точка).

Exception , о котором вы просили, возникает, когда вы объявляете переменную, но не создавали объект. Если вы попытаетесь разыменовать num . Перед созданием объекта вы получите NullPointerException . В самых тривиальных случаях компилятор поймает проблему и сообщит вам, что «num не может быть инициализирован», но иногда вы пишете код, который непосредственно не создает объект.

Читайте также:  Адрес цода что это

Например, вы можете имеют следующий метод:

В этом случае вы не создаете объект obj , скорее предполагая, что он был создан до вызова метода doSomething . К сожалению, этот метод можно вызвать следующим образом:

В этом случае obj имеет значение null. Если метод предназначен для того, чтобы что-то сделать для переданного объекта, целесообразно бросить NullPointerException , потому что это ошибка программиста, и программисту понадобится эта информация для целей отладки.

Альтернативно, там могут быть случаи, когда цель метода заключается не только в том, чтобы работать с переданным в объекте, и поэтому нулевой параметр может быть приемлемым. В этом случае вам нужно будет проверить нулевой параметр и вести себя по-другому. Вы также должны объяснить это в документации. Например, doSomething может быть записано как:

После обновления Android Studio до версии 2.1. При запуске я становлюсь ниже log и не могу открыть Android Studio. Я использую Windows 7-64bit и выгляжу так же, как и в Ubuntu

Эта проблема также появилась в разделе «Проблемы с Android» , но все же не решение

Любая помощь будет оценена по достоинству.

Как сказано здесь Выпуск № 170849, причины вышеупомянутой аварии

  1. Это происходит (по крайней мере), когда не установлен sdk и недоступны удаленные репозитории, содержащие платформы.
  2. На самом деле это происходит, когда удаленные сайты недоступны, и запускается мастер запуска.

Нашел временное решение проблемы № 170850

Добавьте следующий код в C: Program Files Android Android Studio bin idea.properties

ОБНОВЛЕНО

Исправлена ​​проблема с исправлением ошибки № 170849

Выполните следующие шаги:

Откройте папку с папкой в ​​каталоге, где установлена ​​Android Studio.

Найдите файл «idea.properties» и откройте его с помощью Notepad ++ / UltraEdit / other_edit_tools.

Читайте также:  Intel core i7 4820k характеристики

Если вы видите какую-либо ошибку при редактировании с помощью Notepad ++, скажите в шаге 3. выполните шаги (a) и (b), как показано ниже
«Проверьте, открыт ли файл в другой программе»

(A) откройте «Блокнот ++» как администратор, сделав правый щелчок на ярлыке «Notepad ++» и выберите «запустить» как «admin» или «Ctrl + shift» и нажмите «Блокнот + ярлык»

(B) Сохраните файл после редактирования, как показано на шаге 2.

  1. Перезапустите Android Studio.

Вышеупомянутые ответы работают отлично. Вот мой простой простой трюк.

Закройте Android Studio, если он уже запущен, и перейдите в .android C:Users и найдите каталог .android а затем удалите его.

Если вы являетесь пользователем Linux, перейдите в файловую систему, т.е. /home/ .

По умолчанию некоторые из каталогов скрыты в вашем домашнем каталоге. Итак, просто нажмите Ctrl + H, чтобы увидеть скрытые каталоги.

Теперь найдите каталог .android и удалите его.

(Я думаю, что то же самое должно работать и на Mac, потому что файловая структура такая же, как Linux)

После этого запустите Android Studio, теперь IDE автоматически создает каталог .android в домашнем каталоге пользователей. Теперь вы можете использовать свою Android-студию без каких-либо проблем.

Я столкнулся с той же проблемой. Все, что вам нужно сделать, это.

Сначала закройте Android Studio, если она открыта.

Откройте эту папку в C: / UserName /

Имя пользователя будет отличаться на вашем компьютере или вы можете увидеть свое имя вместо имени пользователя

Там вы видите .android Folder

Сначала скопируйте его и сохраните в другом месте, потому что мы его удалим.

Теперь удалите эту папку .android .

И запустите свой Android Studio, он будет работать

У меня была такая же проблема, как упоминалось выше, добавив, что специальный код вызовет открытие студии android, но я все еще не мог создать проект, и он сказал, что не может найти sdk или что-то подобное, если вы столкнулись с тем же Вам нужно найти папку sdk, и она будет работать как шарм. Для этого перейдите к настройке, по умолчанию проекта, структуре проектов, а затем найдите папку. Если вы загрузите sdk seperatly, введите местоположение, в противном случае папка sdk в студии Android будет C: Users USERNAME AppData Local Android sdk, и вам, вероятно, должно быть хорошо идти

Читайте также:  The last remnant оружие

Брошено, когда приложение пытается использовать null в случае, когда требуется объект. К ним относятся:

  1. Вызов метода экземпляра нулевого объекта.
  2. Доступ или изменение поля нулевого объекта.
  3. Принимая длину null, как если бы это был массив.
  4. Доступ или изменение слотов null, как если бы это был массив.
  5. Бросание нулевого значения, как если бы это было значение Throwable.

Чтобы решить эту проблему, перейдите в каталог, в котором вы установили свою Android-студию в папку bin и выполните поиск «idea.properties» и отредактируйте ее, добавив эту строку

Используя любой из ваших текстовых редакторов и сохраните, а затем перезапустите Android Studio. Проблема исправлена.

Для большей проверки этого

Сегодня у меня возникла та же проблема, но как я решил, просто закрыв экземпляр Android Studio и снова открыв! Должен быть конфликт экземпляров в процессах Android.

Вы можете просто пойти в корзину и запустить студию Android, дважды щелкнув studio64 .

Если это не сработает, измените настройку в >

1.Закройте Android Studio.

2. В папку, где установлена ​​студия Android. Обычно это находится в папке C: Program files Android.

3. Теперь внутри папки bin открыть файл idea.properties

4. Теперь вы найдете al line нечто похожее на это -> >

Добавьте эту строку над ней -> disable.andro >

5. Сохраните его как Администратор.

6.Go to C: / Пользователи / вы называете

7. Удалите папку .android.

  1. Теперь перезапустите студию Android.

7.Now Установите свое местоположение проекта в C: / Users / Your Name / Android Studio Projects

Ссылка на основную публикацию
Insomnia the ark цена свободы
Очередь просмотра Очередь Удалить все Отключить YouTube Premium Хотите сохраните это видео? Пожаловаться Пожаловаться на видео? Выполните вход, чтобы сообщить...
High speed hdmi cable with ethernet
Приветствую всех посетителей блога о компьютерах. Сегодня бы очень хотелось поведать читателям о так называемом HDMI кабеле, с помощью которого...
Highscreen pure j 4pda прошивка
Внимание! Использование инструментов для перепрошивки неопытными пользователями может привести к выходу аппарата из строя. Установка этого обновления приведет к полному...
Instagram как выложить фото с компьютера
Зачем нужно выкладывать фото и видео в Инстаграм через компьютер? Инстаграм придумали, чтобы можно было быстро загрузить фото с телефона....
Adblock detector