[英]NullPointerException while getting data via another class from firebase Database
我創建了一個名為UserInfo
的類來從 firebase 數據庫中獲取所有用戶數據。 這是我用來獲取 firebase 數據(用戶名)的方法。
public String getUsername() {
final Firebase usernameLink = new Firebase(firebaseLink + getUid());
usernameLink.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
username = (String) dataSnapshot.getValue();
}
@Override
public void onCancelled(FirebaseError firebaseError) {
}
});
return username;
}
而且firebase鏈接沒有問題。 它也提供了用戶名。
但在另一堂課中,我想獲取用戶名。
所以我做了那個類的對象..
UserInfo userInfo = new UserInfo();
要獲取用戶名,
username = userInfo.getUsername();
我在onCreate
方法中編寫了前面的代碼。
在我的應用程序中單擊按鈕時,我試圖將用戶名添加為我的孩子。
send_request_btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
request_text = request_msg.getText().toString();
URL = new Firebase(firebaseUrl);
Firebase addChild = URL.child(username);
addChild.setValue("hhhhh");
}
);
好吧,當我用一些虛擬的預定義字符串數據替換用戶名時,此代碼有效。 但是當我添加用戶名時,它給了我以下錯誤。
java.lang.NullPointerException: Can't pass null for argument 'pathString' in child()
at com.firebase.client.Firebase.child(Firebase.java:187)
at com.buckydroid.anonchat.SendRequest$1$1.onClick(SendRequest.java:67)
at android.view.View.performClick(View.java:5637)
at android.view.View$PerformClick.run(View.java:22433)
at android.os.Handler.handleCallback(Handler.java:751)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6126)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
在運行此方法之前,請確保您的變量 firebaseLink 已初始化並分配給某些數據。 我看到的 NullPointerException 輸出告訴我您正在嘗試將一個空變量傳遞給 Firebase 類的 pathString 變量。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.