Java 是否可以在android firebase上仅显示特定用户id上的数据?
我的计划是为用户创建一个用户界面,当他们在应用程序上注册并登录时,可以在这里查看自己的信息 示例:当用户A在应用程序上注册时,信息将自动输入firebase数据库,然后当用户A登录时,仅显示其自己的信息(例如姓名、电子邮件、日期) 从上面的图片来看,textview将被数据库中的特定数据所取代 这是我的firebase数据库 当用户在应用程序上注册时,直接从firebase auth用户uid获取用户的唯一idJava 是否可以在android firebase上仅显示特定用户id上的数据?,java,android,firebase,firebase-realtime-database,Java,Android,Firebase,Firebase Realtime Database,我的计划是为用户创建一个用户界面,当他们在应用程序上注册并登录时,可以在这里查看自己的信息 示例:当用户A在应用程序上注册时,信息将自动输入firebase数据库,然后当用户A登录时,仅显示其自己的信息(例如姓名、电子邮件、日期) 从上面的图片来看,textview将被数据库中的特定数据所取代 这是我的firebase数据库 当用户在应用程序上注册时,直接从firebase auth用户uid获取用户的唯一id 是的,如果您的数据库中有以下内容,则有可能: users useruid
是的,如果您的数据库中有以下内容,则有可能:
users
useruid
name: peter
gender: male
然后在android中,您可以执行以下操作:
FirebaseUser user=FirebaseAuth.getInstance().getCurrentUser();
String useruid=user.getUid();
上面将从数据库中检索useruid,然后您可以执行查询:
DatabaseReference ref=FirebaseDatabase.getInstance().getReference().child("user").child(useruid);
并且只有该用户的数据才会出现在活动中。身份验证后,首先必须获取当前用户Uid
String currentUid = FirebaseAuth.getInstance().getCurrentUser().getUid();
如果firebase数据库中存在此Uid,则它将获取其子数据,并且只有该用户数据才会显示在活动中
DatabaseReference uDatabaseReference = FirebaseDatabase.getInstance().getReference().child("Users");
uDatabaseReference.child(currentUid).addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
u_name = dataSnapshot.child("name").getValue().toString();
u_phone = dataSnapshot.child("email").getValue().toString();
u_date= dataSnapshot.child("date").getValue().toString();
u_type= dataSnapshot.child("type").getValue().toString();
Toast.makeText(ProfileActivity.this, "name: "+ u_name + "\nemail: "+ u_email + "\ndate: " + u_date + "\ntype: " + u_type, Toast.LENGTH_SHORT).show();
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
请参阅检查此项我可以使用此项将textview文本替换为firebase上的数据吗?谢谢你,你可以替换这个名称,比如txt.setText(name);