我有一个Android应用程序,该应用程序执行以下操作:
com.google.firebase.database.Query query = mUsersRef
.orderByChild(USER_TABLE_EMAIL)
.startAt(searchTerm)
.endAt(searchTerm + FirebaseConstants.SEARCH_ESCAPE);
query.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
DataSnapshot d = dataSnapshot;
getView().showSearchResults();
}
@Override
public void onCancelled(DatabaseError databaseError) {
// TODO: something?
}
});
我想知道将dataSnapshot
转换为User
对象的最简单方法是什么。我需要返回JSON并进行某种形式的转换吗?或者,还有更好的方法?
您可以将数据快照转换为对象,如下所示:
query.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for(DataSnapshot snapShot : dataSnapshot.getChildren()){
User user = snapShot.getValue(User.class);
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
// TODO: something?
}
});