我正在使用Firebase实时数据库,因此面临一个问题。仅在首次访问FireBase数据库时(当未创建任何数据库引用并且您首次获得引用时),我将收到以下空指针异常。这是导致错误的代码
@NonNull
private DatabaseReference getRootReference() {
String rootRef = getRootDbRef();
FirebaseDatabase database = FirebaseDatabase.getInstance();
return database.getReference(rootRef);
}
引发错误
java.lang.NullPointerException: Attempt to invoke interface method 'void com.google.firebase.database.obfuscated.zzae.zza(java.lang.Runnable)' on a null object reference
at com.google.firebase.database.obfuscated.zzab.zza(com.google.firebase:firebase-database@@16.0.2:276)
at com.google.firebase.database.obfuscated.zzab.<init>(com.google.firebase:firebase-database@@16.0.2:90)
at com.google.firebase.database.obfuscated.zzad.zzb(com.google.firebase:firebase-database@@16.0.2:101)
at com.google.firebase.database.obfuscated.zzad.zza(com.google.firebase:firebase-database@@16.0.2:42)
at com.google.firebase.database.FirebaseDatabase.zza(com.google.firebase:firebase-database@@16.0.2:357)
at com.google.firebase.database.FirebaseDatabase.getReference(com.google.firebase:firebase-database@@16.0.2:201)
但是对于下一次执行(或者如果我调试和评估),我没有收到此错误,它将成功返回引用。我正在从Service
方法的onStartCommand
调用此方法。