简体   繁体   English

通过另一个类从 firebase 数据库获取数据时出现 NullPointerException

[英]NullPointerException while getting data via another class from firebase Database

I created a class called UserInfo to get all user data from firebase database.我创建了一个名为UserInfo的类来从 firebase 数据库中获取所有用户数据。 Here is the method I used to get firebase data (username).这是我用来获取 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;
    }

And the firebase link has no problem.而且firebase链接没有问题。 And it gives the username too.它也提供了用户名。

But in another class I want to get the username.但在另一堂课中,我想获取用户名。

So I made a object of that class..所以我做了那个类的对象..

UserInfo userInfo = new UserInfo();

And to get the username,要获取用户名,

username = userInfo.getUsername();

I wrote the previous code in my onCreate method.我在onCreate方法中编写了前面的代码。

On a button click in my app, I am trying to add the username as my child.在我的应用程序中单击按钮时,我试图将用户名添加为我的孩子。

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");        
                        }
                );

Well this code works when I replace username with some dummy predefined string data.好吧,当我用一些虚拟的预定义字符串数据替换用户名时,此代码有效。 But when I add username it gives me the following error.但是当我添加用户名时,它给了我以下错误。

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)

Make sure your variable firebaseLink is initialized and is assigned to some data before running this method.在运行此方法之前,请确保您的变量 firebaseLink 已初始化并分配给某些数据。 The NullPointerException output I'm seeing tells me that you are trying to pass a null variable to the pathString variable of the Firebase class.我看到的 NullPointerException 输出告诉我您正在尝试将一个空变量传递给 Firebase 类的 pathString 变量。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 NullPointerException从Firebase数据库检索数据 - NullPointerException retrieving data from Firebase database 从firebase数据库获取数据时的同步问题 - Synchronization problem while getting data from firebase database 从数据库检索数据时发生NullPointerException - NullPointerException while retrieving data from the database 从Firebase数据库获取数据 - Getting data from firebase Database 从另一个类引用@FX​​ML TextField,但获取NullPointerException - Referencing a @FXML TextField from another class, but getting NullPointerException 从活动向片段发送数据时获取NullPointerException - Getting NullPointerException while sending data from activity to fragment 将 RecylerView 项目数据发送到另一个片段。 我正在从 Firebase 实时数据库获取数据 - Send RecylerView Items Data To Another Fragment. I Am Getting Data From Firebase RealTime Database 尝试从数据库中获取数据时出现java.lang.NullPointerException - java.lang.NullPointerException while trying to fetch data from database 从联机页面向数据库添加数据时发生NullPointerException - NullPointerException while adding data to the database from online page Android NullPointerException,同时从SQLite数据库检索数据并将其存储在数组中 - Android NullPointerException while retrieving data from SQLite Database and storing it in an Array
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM