使用用户 ID 从 Firebase 获取数据
Posted
技术标签:
【中文标题】使用用户 ID 从 Firebase 获取数据【英文标题】:Getting data from Firebase using User ID 【发布时间】:2021-03-12 22:36:30 【问题描述】:我创建了 Firebase 数据库,每个实例都有一个 UID,它与通过 Firebase 身份验证创建的 UID 相同:
如何通过搜索 UID 读取数据?
我通过以下方式获得了 UID:
mAuth = FirebaseAuth.getInstance();
FirebaseUser currentUser = mAuth.getCurrentUser();
UID = currentUser.getUid();
如何传入 UID 以从 Rack
检索所有内容?
【问题讨论】:
请仅使用android-studio
标签来回答有关 Android Studio IDE 本身的问题。对于一般的 Android 编程问题,请使用android
标签。
【参考方案1】:
您需要为此使用查询。比如:
DatabaseReference ref = FirebaseDatabase.getInstance().getReference("busUsers");
Query query = ref.orderByChild("uID").equalTo(UID);
query.addListenerForSingleValueEvent(new ValueEventListener()
@Override
public void onDataChange(DataSnapshot dataSnapshot)
for (DataSnapshot snapshot: dataSnapshot.getChildren())
Log.i("DB", snapshot.getKey());
Log.i("DB", snapshot.child("adminName").getValue(String.class));
...
@Override
public void onCancelled(DatabaseError databaseError)
throw databaseError.toException();
onDataChange
中的循环是必需的,因为可能有多个业务具有相同的uID
值。如果不是这种情况,请考虑使用uID
值作为busUsers
下节点的键。
【讨论】:
以上是关于使用用户 ID 从 Firebase 获取数据的主要内容,如果未能解决你的问题,请参考以下文章
从 Cloud Functions for Firebase 中的数据库触发器获取用户 ID?
如何在 Flutter 中从 Firebase Auth 获取用户 ID?