Code: Select all
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)
Der Fehler tritt nur auf, wenn es sich um einen neuen Benutzer handelt, was bedeutet, dass „users/strUID“ nicht in der Echtzeitdatenbank vorhanden ist. Einfach zu reproduzieren.
Warum passiert das plötzlich, da dieser Code schon seit einiger Zeit in der Live-Anwendung ist und keine neue Version oder Datenbankaktualisierung durchgeführt wurde? Ich habe bereits ein Ticket bei Firebase eröffnet, da dies seit dem 31. Dezember 2025 plötzlich auftritt.
Wie lässt sich das Problem richtig beheben? Der Absturz tritt nicht auf, wenn der Benutzer zum zweiten Mal dieselbe Aktion ausführt.
Code: Select all
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);
}
}
}
});
Mobile version