Si j'ai une base de données Firebase Firestore dans laquelle j'ai récupéré une DocumentSnapshot
pour le document correspondant à la collection de droite et stockée dans une variable document
, comment puis-je récupérer la valeur de cette DocumentSnapshot
dans le champ "nom d'utilisateur"? Le champ a une valeur de chaîne.
DocumentSnapshot a une méthode getString () qui prend le nom d'un champ et renvoie sa valeur sous forme de chaîne.
String value = document.getString("username");
Vous devez faire une DocumentReference
pour obtenir le contenu de votre document.
Un simple sera comme ça.
DocumentReference docRef = myDB.collection("users").document("username");
docRef.get().addOnCompleteListener(new OnCompleteListener<DocumentSnapshot>() {
@Override
public void onComplete(@NonNull Task<DocumentSnapshot> task) {
if (task.isSuccessful()) {
DocumentSnapshot document = task.getResult();
if (document != null) {
Log.i("LOGGER","First "+document.getString("first"));
Log.i("LOGGER","Last "+document.getString("last"));
Log.i("LOGGER","Born "+document.getString("born"));
} else {
Log.d("LOGGER", "No such document");
}
} else {
Log.d("LOGGER", "get failed with ", task.getException());
}
}
});
L'inconvénient est que vous devez connaître votre ID de document pour obtenir les valeurs de champ.
vous pouvez utiliser la méthode get
pour obtenir la valeur d'un champ
String username = (String) docuemnt.get("username"); //if the field is String
Boolean b = (Boolean) document.get("isPublic"); //if the field is Boolean
Integer i = (Integer) document.get("age") //if the field is Integer
commander le doc pour DocumentSnapshot