Android 每次应用程序崩溃时;“设置”;按下按钮,我如何调试?
我一直在犯这个错误 尝试对空对象引用调用虚拟方法“void com.google.firebase.database.DatabaseReference.addListenerForSingleValueEvent(com.google.firebase.database.ValueEventListener)” 我也不知道如何修复它。我怎样才能纠正它 代码: 将getUserInfo()方法放入if语句中Android 每次应用程序崩溃时;“设置”;按下按钮,我如何调试?,android,firebase,firebase-realtime-database,Android,Firebase,Firebase Realtime Database,我一直在犯这个错误 尝试对空对象引用调用虚拟方法“void com.google.firebase.database.DatabaseReference.addListenerForSingleValueEvent(com.google.firebase.database.ValueEventListener)” 我也不知道如何修复它。我怎样才能纠正它 代码: 将getUserInfo()方法放入if语句中 if(mFirebaseUser != null && userSex
if(mFirebaseUser != null && userSex != null) {
userId = mFirebaseUser.getUid();
mCustomerDatabase = FirebaseDatabase.getInstance().getReference().child("Users").child(userSex).child(userId);
getUserInfo()
}
mCustomerDatabase
在调用getUserInfo
时为空-这意味着您没有正确处理错误案例(mFirebaseUser!=null&&userSex!=null
)。那么您有什么更改建议吗?我在这里有点困惑@我猜用户没有进行身份验证-也要验证userSex
变量-“女性”与“女性”上的case之类的内容-“女性”与“女性”-在条件下设置一个断点并逐步通过。如果不是太麻烦,你能提供实际的代码吗?我真的不知道怎么做。这方面我还不太熟悉。感谢学习在Android Studio中使用调试器是迄今为止您最好的时间投资:。
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void com.google.firebase.database.DatabaseReference.addListenerForSingleValueEvent(com.google.firebase.database.ValueEventListener)' on a null object reference
at com.example.macdate.SettingsActivity.getUserInfo(SettingsActivity.java:101)
at com.example.macdate.SettingsActivity.onCreate(SettingsActivity.java:74)
at android.app.Activity.performCreate(Activity.java:7009)
at android.app.Activity.performCreate(Activity.java:7000)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1214)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2731)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2856)
at android.app.ActivityThread.-wrap11(Unknown Source:0)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1589)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6494)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
if(mFirebaseUser != null && userSex != null) {
userId = mFirebaseUser.getUid();
mCustomerDatabase = FirebaseDatabase.getInstance().getReference().child("Users").child(userSex).child(userId);
getUserInfo()
}