Каков правильный способ запроса для каждого комментария (POJO), прикрепленного к фото (POJO) в Android. В Firebase, у меня есть следующая структура коллекции фото:Firebase - Запрос от FirebaseListAdapter в Android
"photos" : {
"-KaeuYf9jXcy4oqpRqbi" : {f
"entities" : {
"type" : {
"image" : {
"bucket" : "bucket",
"prefix" : "https://s3-us-west-2.amazonaws.com/",
"suffix" : "image.jpg"
}
}
},
"stats" : {
"liked" : 0
},
"text" : "Person Detected!",
"timestamp" : 1484631194257
}
}
и комментарии коллекции:
"comments" : {
"-KdE6Hwua8d6sBQimPos" : {
"attachphoto" : {
"-KaeuYf9jXcy4oqpRqbi" : true
},
"attachuser" : {
"-KaeuYHjkdf9okflslf" : true
},
"displayName" : "Gary",
"text" : "ok",
"timestamp" : 1487385995844
},
"-KdE6IPc-NL-6zGkwXq3" : {
"attachphoto" : {
"-KaeuYf9jXcy4oqpRqbi" : true
},
"attachuser" : {
"-KaeuYHjkdf9okflslf" : true
},
"displayName" : "Thomas",
"text" : "ok",
"timestamp" : 1487385997735
}
}
В Android я использую FirebaseAdapter, но у меня возникли проблемы, образующую надлежащего запроса который будет получать только комментарии, прикрепленные к определенной фотографии. У меня есть ключ Фото
FirebaseListAdapter adapter = new CommentAdapter(this, Comment.class, R.layout.item_comment, QUERY){
@Override
protected void populateView(View v, Comment model, int position) {
if(model.getDisplayName()!=null) {
String[] name = model.getDisplayName().split(" ");
((TextView) v.findViewById(R.id.id)).setText(name[0]);
}
((TextView) v.findViewById(R.id.content)).setText(model.getText());
}
};
Я думал, что я мог определить что-то вроде:
final FirebaseDatabase database = FirebaseDatabase.getInstance();
final DatabaseReference commentsRef = database.getReference("comments");
Query query = commentsRef.orderByChild("attachphoto").equalTo()
Но у меня возникают некоторые разъединение о том, как закончить это. Первый проект с использованием Firebase, поэтому любая помощь/советы были бы высоко оценены!
Похоже, вы пытаетесь поместить комментарии в категории. См. Http://stackoverflow.com/questions/40656589/firebase-query-if-child-of-child-contains-a-value –
Спасибо, что сработал! StringBuilder child = new StringBuilder ("attachphoto /"); child.append (imageKey); Запрос запроса = commentsRef.orderByChild (child.toString()). EqualTo (Boolean.TRUE); – gareoke