Я хочу получить данные из базы данных и вставить их в повторный просмотр. Проблема в том, что я не знаю, кто может получить данные в наборе данных.
Сначала взгляните на мою структуру набора данных: Json добавлено ниже:
"Places" : {
"-M11-OIIHbKTVqCJ-Swv" : {
"name" : "Farmacia Pagani Dr. Roberto",
"others" : {
"01" : {
"Nome" : "Ambilify",
"Price" : 100
},
"02" : {
"Nome" : "Acetaminophoen",
"Price" : 120
}
}
},
"-M11-OJJCGAPdJUknLXX" : {
"name" : "FARMACIA DR. TUMIATTI MARIANO",
"others" : {
"01" : {
"Nome" : "Ambilify",
"Price" : 100
},
"02" : {
"Nome" : "Acetaminophen",
"Price" : 120
}
}
}
},
Итак, что я хочу: так как у меня есть ключ "-M11-OIIHbKTVqCJ-Swv" Я хочу выполнить поиск внутри объекта с помощью этого ключа. Для этого мне нужно получить доступ к объекту Places / key (-M11-OIIHbKTVqCJ-Swv) / др., А затем выполнить поиск по номеру (означает имя по-итальянски). Я хочу вернуть Nome: Ambilify Цена: 100
Вот что я сделал:
private void firebaseUserSearch(String searchText) {
DatabaseReference searchforData = FirebaseDatabase.getInstance().getReference("Places");
Toast.makeText(FirebaseSearch.this, "Started Search", Toast.LENGTH_LONG).show();
System.out.println("keyNameOfFarmacy"+keyNameOfFarmacy);
Query firebaseSearchQuery = searchforData.orderByChild(keyNameOfFarmacy).orderByChild("others").orderByChild("Nome").startAt(searchText).endAt(searchText + "\uf8ff");
FirebaseRecyclerAdapter<DataDetails, UsersViewHolder> firebaseRecyclerAdapter = new FirebaseRecyclerAdapter<DataDetails, UsersViewHolder>(
DataDetails.class,
R.layout.list_layout,
UsersViewHolder.class,
firebaseSearchQuery
) {
@Override
protected void populateViewHolder(UsersViewHolder viewHolder, DataDetails model, int i) {
viewHolder.getDetails(model.getNome(), model.getPrice());
viewHolder.setDetails(model.getNome(), model.getPrice());
}
};
mResultList.setAdapter(firebaseRecyclerAdapter);
}
У меня проблема с этой частью кода, потому что: orderByChild можно использовать только один раз.
Может кто-нибудь сказать мне, как я могу получить данные, пожалуйста, я потерял последние 2 3 часа в поисках, как это сделать, и я ничего не нашел. Заранее спасибо.