答案 0 :(得分:0)
由于可能有许多同名用户,我建议您按ID获取用户的详细信息。可能是您可以将您的用户ID存储在隐藏的某个视图中。
您可以按照以下步骤按ID获取用户的详细信息。
根据Firebase数据库中的用户字段创建一个类。
public class UserDetail {
private String uId;
private String name;
private String phoneNo;
private String address;
private String product;
private String spinner;
private String quantity;
// Empty constructor
// Getters and setters
}
创建与上述类对应的DAO类,以从数据库中获取记录。
public class UserDetailDao {
private final FirebaseDatabase mDatabase;
public UserDetailDao() {
mDatabase = FirebaseDatabase.getInstance();
}
public void getUserById(String id, OnResultFetched onResultFetched) {
final UserDetail userDetail = null;
mDatabase.getReference()
.child("users")
.child(id)
.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
userDetail = dataSnapshot.getValue(UserDetail.class);
onResultFetched.onResult(userDetail);
}
@Override
public void onCancelled(DatabaseError databaseError) {
onResultFetched.onResult(null);
}
});
}
// Callback interface
public interface OnResultFetched {
public void onResult(UserDetail userDetail);
}
}
现在,您可以通过以下任何活动获取所有用户的列表:
new UserDetailDao().getUserById(id_of_your_user, new UserDetailDao.OnResultFetched() {
@Override
public void onResult(UserDetail userDetail) {
// **** HERE IS YOUR USER ****
}
});