我为我的用户开设了一个名为“User”的课程。所有的 getter 和 setter 都是正确的。我在主要活动中初始化了“mUser”以供应用程序全局使用(MainActivity.mUser)。
Log.i("..............UID Used", auth.getCurrentUser().getUid());
为用户返回正确的 Uid。
我正在努力解决的是在 try/catch 块中没有执行任何操作。目录中没有记录任何内容,应用程序崩溃。它不会转到 onComplete、onFail,也不会捕获异常。应用程序只是转到下一部分代码,该部分引用从该块中提取的数据,并由于 mUser 的值全部为空而给出错误。
它正在工作,然后突然停止,我不确定为什么。任何人都可以对此有所了解吗?
private void getUserProfileInfo() {
MainActivity.mUser.clearUser();
FirebaseAuth auth = FirebaseAuth.getInstance();
Log.i("..............UID Used", auth.getCurrentUser().getUid());
FirebaseDatabase firebaseDatabase = FirebaseDatabase
.getInstance("https://godsvong-default-rtdb.firebaseio.com/");
DatabaseReference databaseReference = firebaseDatabase.getReference();
try {
databaseReference.child("User_Profiles").child(auth.getCurrentUser().getUid())
.get().addOnCompleteListener(new OnCompleteListener<DataSnapshot>() {
@Override
public void onComplete(@NonNull Task<DataSnapshot> task) {
MainActivity.mUser = task.getResult().getValue(User.class);
Log.i("Get Data", "SUCCESS!!!!!");
MainActivity.mUser.showUserDataInCatlog();
}
}).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
Log.i("Get Data", "FAILED!!!!!");
}
});
}
catch (Exception e){
Log.i(".............ERROR", e.toString());
}
String path = MainActivity.mUser.getmProfilePicUrl();
//MainActivity.mUser.showUserDataInCatlog();
//Log.i(".............PATH", MainActivity.mUser.getmProfilePicUrl());
//Log.i(".............PATH", path);
StorageReference gsReference = FirebaseStorage.getInstance()
.getReferenceFromUrl(path);
逻辑猫:
W/System: Ignoring header X-Firebase-Locale because its value was null.
I/System.out: (HTTPLog)-Static: isSBSettingEnabled false
I/System.out: (HTTPLog)-Static: isSBSettingEnabled false
W/System: Ignoring header X-Firebase-Locale because its value was null.
I/System.out: (HTTPLog)-Static: isSBSettingEnabled false
I/System.out: (HTTPLog)-Static: isSBSettingEnabled false
I/..............UID Used: 3jdmmGvAh4Q8KSvG6m9aSFLOXuG2
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.hsquaredtechnologies.godsvong, PID: 9974
java.lang.IllegalArgumentException: location must not be null or empty
at com.google.android.gms.common.internal.Preconditions.checkArgument(com.google.android.gms:play-services-basement@@17.1.0:35)
at com.google.firebase.storage.FirebaseStorage.getReferenceFromUrl(FirebaseStorage.java:282)
at com.hsquaredtechnologies.godsvong.ui.logout.LogoutFragment.getUserProfileInfo(LogoutFragment.java:268)
at com.hsquaredtechnologies.godsvong.ui.logout.LogoutFragment.lambda$onViewCreated$1$LogoutFragment(LogoutFragment.java:186)
at com.hsquaredtechnologies.godsvong.ui.logout.LogoutFragment$$ExternalSyntheticLambda2.onComplete(Unknown Source:8)
at com.google.android.gms.tasks.zzj.run(Unknown Source:4)
at android.os.Handler.handleCallback(Handler.java:938)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:246)
at android.app.ActivityThread.main(ActivityThread.java:8512)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:602)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1139)
I/Process: Sending signal. PID: 9974 SIG: 9