Android Firebase如何从当前用户ID读取数据?

时间:2019-01-20 18:58:25

标签: java android firebase firebase-realtime-database

这是我的代码,我想从firebase中读取当前的用户ID数据。

DatabaseReference ref2;
ref2=db.getReference("HiringWalker").child(FirebaseAuth.getInstance().getCurrentUser().getUid());

enter image description here

enter image description here

我想读取当前的用户ID和-Lwg _....所有数据。

2 个答案:

答案 0 :(得分:3)

这行不通,因为您需要更深一层,还有一个孩子,我不知道您如何创建它

ref2=db.getReference("HiringWalker").child(FirebaseAuth.getInstance().getCurrentUser().getUid());

改为执行此操作

ref2=db.getReference("HiringWalker").child("ciu12tcL4RfzmC3T6Gdp64LgiZa2").child(FirebaseAuth.getInstance().getCurrentUser().getUid());

检查您要在哪里创建此ciu12tcL4RfzmC3T6Gdp64LgiZa2并将其.child("ciu12tcL4RfzmC3T6Gdp64LgiZa2")替换为生成该随机数的当前实现

答案 1 :(得分:0)

您的查询正确,但是获取数据不正确,应从以下位置修改

ref2.addValueEvent(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {

    infoList.clear();

    for (DataSnapshot infoSnapshot : dataSnapshot.getChildren())
    {
        for (DataSnapshot infomationsnap : infoSnapshot.getChildren())
        {
            ReWalker rewalker = infomationsnap.getValue(ReWalker.class)
            infoList.add(rewalker);
        }
    }

});

ref2.addValueEvent(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {

    infoList.clear();

    for (DataSnapshot infoSnapshot : dataSnapshot.getChildren())
    {
        ReWalker rewalker = infoSnapshot.getValue(ReWalker.class)
        infoList.add(rewalker);
    }

});