Неустрашимое исключение: java.lang.NullPointerException: попытка вызвать виртуальный метод int java.lang.Integer.intValuAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Неустрашимое исключение: java.lang.NullPointerException: попытка вызвать виртуальный метод int java.lang.Integer.intValu

Сообщение Anonymous »

С 31 декабря 2025 г. в Crashlytics стали наблюдаться сотни сбоев.
Fatal Exception: java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.Integer.intValue()' on a null object reference
at com.rachittechnology.lawapp.SelectLaw$17$1.onComplete(SelectLaw.java:33)
at com.google.android.gms.tasks.zzi.run(com.google.android.gms:play-services-tasks@@18.1.0:21)
at android.os.Handler.handleCallback(Handler.java:938)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loopOnce(Looper.java:233)
at android.os.Looper.loop(Looper.java:344)
at android.app.ActivityThread.main(ActivityThread.java:8212)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:584)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1034)

С ноября не было нового развертывания кода или изменений в базе данных реального времени.
Ошибка возникает только в том случае, если это новый пользователь, что означает, что пользователи/strUID не существуют в базе данных реального времени. Легко воспроизвести.
Почему это начало происходить внезапно, ведь этот код уже некоторое время находится в работающем приложении, и ни одного нового выпуска или обновления базы данных не было? Я уже открыл заявку в Firebase, поскольку с 31 декабря 2025 года это начало происходить внезапно.
Как правильно это исправить? Сбой не происходит во второй раз, когда пользователь пытается выполнить одно и то же действие.
mDatabase.child("users").child(strUID).child("LATESTDBDOWNLOADCOUNT").get().addOnCompleteListener(new OnCompleteListener() {
@Override
public void onComplete(@NonNull Task task) {
if (!task.isSuccessful()) {
DownloadDBFromServer(strSelectedCountry, strSelectedLaw);
}
else {
int iCount = task.getResult().getValue(int.class);
Map map = new HashMap();
int maxDownloads = getIsLicense() ? BuildConfig.MAXDAILYDOWNLOADPU : BuildConfig.MAXDAILYDOWNLOAD;
if (iCount >= maxDownloads) {
map.put("LATESTDBDOWNLOADCOUNT",maxDownloads);
mDatabase.child("users").child(strUID).updateChildren(map);

}else{
map.put("LATESTDBDOWNLOADCOUNT",++iCount);
mDatabase.child("users").child(strUID).updateChildren(map);
DownloadDBFromServer(strSelectedCountry, strSelectedLaw);
}
}
}
});


Подробнее здесь: https://stackoverflow.com/questions/798 ... tual-metho
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»