2017-10-09 3 views
5

Avec la base de données en temps réel, on pourrait le faire:Firebase Firestore: Comment convertir l'objet document à un POJO sur Android

MyPojo pojo = dataSnapshot.getValue(MyPojo.Class); 

comme un moyen de cartographier l'objet, comment peut-on faire cela avec Firestore?

CODE:

FirebaseFirestore db = FirebaseFirestore.getInstance(); 
     db.collection("app/users/" + uid).document("notifications").get().addOnCompleteListener(task -> { 
      if (task.isSuccessful()) { 
       DocumentSnapshot document = task.getResult(); 
       if (document != null) { 
        NotifPojo notifPojo = document....// here 
        return; 
       } 

      } else { 
       Log.d("FragNotif", "get failed with ", task.getException()); 
      } 
     }); 

Répondre

3

Avec un DocumentSnapshot vous pouvez faire:

DocumentSnapshot document = future.get(); 
if (document.exists()) { 
    // convert document to POJO 
    NotifPojo notifPojo = document.toObject(NotifPojo.class); 
} 
+0

Est-ce que ce report l'identifiant du document? –

0

Je ne sais pas si cela est la meilleure façon de le faire, mais c'est ce que j'ai jusqu'à présent.

NotifPojo notifPojo = new Gson().fromJson(document.getData().toString(), NotifPojo.class); 

EDIT: j'utilise maintenant ce qui est sur la réponse acceptée.