Da es viele Benutzer mit dem gleichen Namen sein kann, empfehle ich Ihnen die Details Ihrer Benutzer von ID zu holen. Möglicherweise können Sie Ihre Benutzer-ID in einer Ansicht speichern, die ausgeblendet ist.
Sie können die folgenden Schritte befolgen, um die Details Ihres Benutzers per ID abzurufen.
Erstellen Sie eine Klasse, die Ihren Benutzerfeldern entspricht, in der Firebase-Datenbank.
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
}
eine DAO-Klasse Stellen oben Klasse entsprechende Datensätze aus der Datenbank zu holen.
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);
}
}
Jetzt von jeder Aktivität können Sie die Liste aller Benutzer von erhalten:
new UserDetailDao().getUserById(id_of_your_user, new UserDetailDao.OnResultFetched() {
@Override
public void onResult(UserDetail userDetail) {
// **** HERE IS YOUR USER ****
}
});
welche Art von Fehler ?? –