无法将数据提交到firebase的实时数据库中

Not able to commit data into realtime database of firebase

提问人:The Dark shadow 提问时间:5/26/2022 更新时间:5/26/2022 访问量:66

问:

我正在尝试将用户输入的数据添加到实时数据库中,但它停止工作并且不提交数据。图像存储在 Firebase 存储中,但数据不会实时保存,并且活动会关闭并移回上一个活动。

这是活动文件中的代码:

pst.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            final StorageReference reference = storage.getReference().child("compan")
                    .child(compName.getText().toString())
                    .child(new Date().getTime()+"");
            reference.putFile(uri).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
                @Override
                public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
                    Toast.makeText(addPost.this, "Post added", Toast.LENGTH_SHORT).show();
                    reference.getDownloadUrl().addOnSuccessListener(new OnSuccessListener<Uri>() {
                        @Override
                        public void onSuccess(Uri uri) {
                            postModel po = new postModel();
                            po.setPostImg(uri.toString());
                            po.setPostedBy(FirebaseAuth.getInstance().getUid());
                            po.setPostDescr(descrip.getText().toString());
                            po.setPostId(new Date().getTime()+"");

                            database.getReference().child("Company").child(compName.getText().toString())
                                    .push()
                                    .setValue(po).addOnSuccessListener(new OnSuccessListener<Void>() {
                                @Override
                                public void onSuccess(Void unused) {
                                    Toast.makeText(addPost.this, "Post added", Toast.LENGTH_SHORT).show();
                                }
                            });

                        }
                    });
                }
            });
        }
    });

在尝试很多时,我在 logcat 中出现以下错误:在此处输入图像描述

我错过了什么吗?我不知道该怎么办,因为存储和身份验证工作正常。

Android android-studio firebase-realtime-database nullpointerexception

评论


答:

0赞 Sergio 5/26/2022 #1

请在使用之前检查对象,似乎尚未初始化:database

database = ... // initialize somehow
database.getReference().child("Company").child(compName.getText().toString())
...

评论

0赞 Sergio 5/26/2022
似乎错误出在对象上,我已经编辑了我的答案,请检查。database
0赞 The Dark shadow 5/26/2022
是的,我错过了数据库......它现在可以👍工作了