You first need a query, considering you have the FirebaseDatabase instance
databaseQuery = firebaseDatabase.child("users").child("user1").orderByChild("name");
If you want to read more about how the common SQL queries are performed in Firebase, you can read it here Common SQL Queries Converted for Firebase
Then By using FirebaseUI, you can display the data the way you want.
To map firebase objects to your POJO, I have used FirebaseUI
adapter = new FirebaseRecyclerAdapter<POJOClass, CustomVH>(POJOClass.class, R.layout.your_layout_file, CustomVH.class, databaseQuery)
{
@Override
protected void populateViewHolder(final CustomVH viewHolder,final POJOClass model, int position)
{
viewHolder.setListItemTitle(model.getItem());
viewHolder.setListItemCategory(model.getCategory());
viewHolder.setImageView(model.getDownloadImageUrl(),getContext());
}
};
recyclerView.setAdapter(adapter);
And my ViewHolder class as :
public class CustomVH extends RecyclerView.ViewHolder {
private final TextView listItemTitle;
public CheckBox checkBox;
private final TextView listItemCategory;
private ImageView imageView;
public CustomVH(View itemView)
{
super(itemView);
listItemTitle = (TextView) itemView.findViewById(R.id.listItemText);
checkBox = (CheckBox) itemView.findViewById(R.id.checkBoxListItem);
listItemCategory = (TextView) itemView.findViewById(R.id.listItemCategoryText);
imageView = (ImageView) itemView.findViewById(R.id.customMyBucketListItemImage);
deleteButton = (ImageButton) itemView.findViewById(R.id.listItemDeleteButton);
}
public void setListItemTitle(String name)
{
listItemTitle.setText(name);
}
public void setListItemCategory(String category)
{listItemCategory.setText(category);}
public void setImageView(String imageUrl, Context context)
{
//set your imageview
}
}