[英]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.