我的表格中有艺术家信息:公共班级艺术家{
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();
}
});