hier is my firebase Model
"messages" : {
"Johnny_peter" : {
"-KsjbzGUO90vejwHpzqx" : {
"message" : "how are u doing",
"user" : "peter",
"userName" : "peter"
}
},
"guy_johnz" : {
"-Ksj5vkO5H4qeleFqojh" : {
"message" : "merci",
"user" : "guy",
"userName" : "steve"
}
"guy_steve" : {
"-Ksj5vkO5H4qeleFqojh" : {
"message" : "merci",
"user" : "williams",
"userName" : "steve"
}
"steve" is duplicate, I want to retrieve only one time the value of username. I'm using following code
DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
DatabaseReference messagesRef = rootRef.child("messages");
ValueEventListener eventListener = new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for(DataSnapshot ds : dataSnapshot.getChildren()) {
for(DataSnapshot dSnapshot : ds.getChildren()) {
String userName = dSnapshot.child("userName").getValue(String.class);
Log.d("TAG", userName);
}
}
}
@Override
public void onCancelled(DatabaseError databaseError) {}
};
messagesRef.addListenerForSingleValueEvent(eventListener);
how retrieve all value of userName and when the value is duplicate , just take only one value. I want this output: peter, steve