繁体   English   中英

无法检索firebase当前在线用户的数据

[英]Unable to retrievw data of firebase current online user

我想将当前在线用户的特定节点(clicksRemain)的数据从 firebase 检索到 textView 但数据未显示。 下面是我的代码。

实践活动


public class PracticeActivity extends AppCompatActivity {

    TextView link1;
    DatabaseReference dRef;
    FirebaseDatabase firebaseDatabase;
   


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_practice);

        link1 = findViewById(R.id.link1);
        
        firebaseDatabase = FirebaseDatabase.getInstance();
        dRef = FirebaseDatabase.getInstance().getReference();

        FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();

        if (user != null) {
            dRef.child("clicksRemain").addValueEventListener(new ValueEventListener() {
                @Override
                public void onDataChange(@NonNull DataSnapshot snapshot) {
                    String remainingClicks = snapshot.getValue(String.class);
                    link1.setText(remainingClicks);
                }

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

                }
            });
        }else{
            link1.setText("10");
        }
    }
    }

我认为检查用户是否登录的代码是正确的,就像用户注销一样,然后应用程序显示此代码中写入的值 10。

数据库快照

提前致谢

我已经进行了这些更改,现在已成功检索数据。

FirebaseUser 用户 = FirebaseAuth.getInstance().getCurrentUser();

字符串 uID = user.getUid(); dRef = FirebaseDatabase.getInstance().getReference("Users");

    dRef.child(uID).addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(@NonNull DataSnapshot snapshot) {

            String remainingClicks = String.valueOf(snapshot.child("clicksRemain").getValue(Integer.class));
            link1.setText(remainingClicks);
        }

暂无
暂无

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

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM