Android 每次应用程序崩溃时;“设置”;按下按钮,我如何调试?

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

我一直在犯这个错误

尝试对空对象引用调用虚拟方法“void com.google.firebase.database.DatabaseReference.addListenerForSingleValueEvent(com.google.firebase.database.ValueEventListener)”

我也不知道如何修复它。我怎样才能纠正它

代码:

将getUserInfo()方法放入if语句中

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()
    }