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

时间:2018-03-28 17:34:47

标签: android firebase firebase-realtime-database

我的表中有艺术家信息: 公共类艺术家{

private String artistId;
private String artistName;
private String artistGenere;
private String email;

public Artist() {

}

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

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

我应该使用哪个听众?如果可能提供代码。     Firebase database snap

2 个答案:

答案 0 :(得分:0)

您需要使用以下内容:

MODIFY_PHONE_STATE

这个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) { } }); 就像在说email =“ssssss@gmail.com”;

假设您有以下数据库:

orderByChild("email").equalTo("ssssss@gmail.com");

更多信息:

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

答案 1 :(得分:0)

以下是您需要的代码:

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();
   }
});