想要从Android中的Firebase检索单个用户信息



我的表格中有艺术家信息:公共班级艺术家{

private String artistId;
private String artistName;
private String artistGenere;
private String email;
public Artist() {
}

我想根据他的电子邮件地址获取艺术家信息就像我们可以编写SQL查询一样。

SELECT * FROM artist WHERE email ="ssssss@gmail.com";

我应该使用哪个听众?如果可能的话,提供代码。 firebase数据库snap

您需要使用以下内容:

DatabaseReference ref=FirebaseDatabase.getInstance().getReference().child("Artist").orderByChild("email").equalTo("ssssss@gmail.com");
ref.addValueEventListener(new ValueEventListener(){
 @Override
 public void onDataChange(DataSnapshot dataSnapshot) {
    for(DataSnapshot datas: dataSnapshot.getChildren()){
       String names=datas.child("artistName").getValue().toString();
    //get data
}
@Override
public void onCancelled(FirebaseError firebaseError) {

   }
 });

orderByChild("email").equalTo("ssssss@gmail.com");就像在说email =" sssss@gmail.com";

假设您有以下DB:

Artist
  artistid
     artistName: name
     email: ssssss@gmail.com

更多信息在这里:

https://firebase.google.com/docs/reference/android/com/google/firebase/database/query/query

这是您需要的代码:

FirebaseDatabase mDatabase = FirebaseDatabase.getInstance();
DatabaseReference artistDB = mDatabase.getReference("artist");
Query query = artistDB.orderByChild("email").equalTo("ssssss@gmail.com");
query.addListenerForSingleValueEvent(new ValueEventListener() {
   @Override
   public void onDataChange(DataSnapshot dataSnapshot) {
     Artist artist = dataSnapshot.getValue(Artist.class);
     doWhatever();
   }
});

最新更新