datasNapShot无法正常工作。

发布于 2025-02-10 08:06:25 字数 1223 浏览 1 评论 0原文

我正在我的Android项目中实施燃料。但是看来该函数datasNapShot并未初始化。它以红色下划线。

这是我的.java的代码,

table_user.addValueEventListener(new ValueEventListener() {
    @Override
    public void onDataChange(@NonNull DataSnapshot snapshot) {

        if(dataSnapshot.child(edtphone.getText().toString()).exists()) {

            mDialog.dismiss();
            User user = dataSnapshot.child(edtphone.getText().toString()).getValue(User.class);
            if (user.getPassword().equals(edtpass.getText().toString())) {
                Toast.makeText(signin.this, "Sign In Successful", 
                Toast.LENGTH_SHORT).show();
            } else {
                Toast.makeText(signin.this, "Sign In Failed", 
                Toast.LENGTH_SHORT).show();
            }
        }
        else
        {
            Toast.makeText(signin.this, "User Not Found", 
            Toast.LENGTH_SHORT).show();
        }
    }

    @Override
    public void onCancelled(@NonNull DatabaseError error) {

    }
});

我的两个datasnapshot函数都无法正常工作。 我已经尝试将其更改为DataSnapShot,但是.Child不起作用

是否有此功能的更新或其他语法可以尝试?

更改为DataSnapShot返回此错误

非静态方法'child(java.lang.string)'无法从静态上下文中引用

I am implementing Firebase in my Android Project. But it seems that the function dataSnapshot is not being initialized. It is underlined in red.

Here is the Code for my .java

table_user.addValueEventListener(new ValueEventListener() {
    @Override
    public void onDataChange(@NonNull DataSnapshot snapshot) {

        if(dataSnapshot.child(edtphone.getText().toString()).exists()) {

            mDialog.dismiss();
            User user = dataSnapshot.child(edtphone.getText().toString()).getValue(User.class);
            if (user.getPassword().equals(edtpass.getText().toString())) {
                Toast.makeText(signin.this, "Sign In Successful", 
                Toast.LENGTH_SHORT).show();
            } else {
                Toast.makeText(signin.this, "Sign In Failed", 
                Toast.LENGTH_SHORT).show();
            }
        }
        else
        {
            Toast.makeText(signin.this, "User Not Found", 
            Toast.LENGTH_SHORT).show();
        }
    }

    @Override
    public void onCancelled(@NonNull DatabaseError error) {

    }
});

Both of my dataSnapshot functions are not working.
I have tried changing it to DataSnapshot but then the .child is not working

Is there an update for this function or a different syntax to try?

Changing to DataSnapshot returns this error

Non-static method 'child(java.lang.String)' cannot be referenced from a static context

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

汹涌人海 2025-02-17 08:06:26

您的OnDataChange()有一个称为快照不是 datasNapShot的参数,因此该错误:

“无法解析符号datasnapshot”

您要做的就是用datasNapshot使用snapshot更改所有出现:

  table_user.addValueEventListener(new ValueEventListener() {
@Override
//

Your onDataChange() has an argument called snapshot and not dataSnapshot, hence that error:

"cannot resolve symbol dataSnapshot"

What you have to do is to change all occurrences of dataSnapshot with snapshot:

  table_user.addValueEventListener(new ValueEventListener() {
                @Override
                                                                //????
                public void onDataChange(@NonNull DataSnapshot snapshot) {
                       //????
                    if(snapshot.child(edtphone.getText().toString()).exists()) {

                        mDialog.dismiss();
                                     //????
                        User user = snapshot.child(edtphone.getText().toString()).getValue(User.class);
                        if (user.getPassword().equals(edtpass.getText().toString())) {
                            Toast.makeText(signin.this, "Sign In Successful", 
                            Toast.LENGTH_SHORT).show();
                        } else {
                            Toast.makeText(signin.this, "Sign In Failed", 
                            Toast.LENGTH_SHORT).show();
                        }
                    }
                    else
                    {
                        Toast.makeText(signin.this, "User Not Found", 
                        Toast.LENGTH_SHORT).show();
                    }
                }

                @Override
                public void onCancelled(@NonNull DatabaseError error) {

                }
            });

The following operation will also not work:

Changing to DataSnapshot returns this error:
Non-static method 'child(java.lang.String)' cannot be referenced from a static context

Because the child() method is an instance method and not a static method.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文