Получение данных из базы данных Firebase Realtime в Android
Я новичок в Firebase и NoSQL. У меня есть демо-версия Android с текстовым полем автозаполнения города, в котором я хочу заполнить города из базы данных Firebase во время набора текста.
{ "cities":{
"Guayaquil":true,
"Gualaceo":true,
"Quito":true,
"Quevedo":true,
"Cuenca":true,
"Loja":true,
"Ibarra":true,
"Manta":true
}
}
Это то, что я до сих пор.
Как я могу получить из БД города, которые начинаются с буквы (ввод с клавиатуры)? Если я начну печатать «G», я хочу получить «Guayaquil» и «Gualaceo».
Если я используюorderByValue
всегда возвращает пустой снимок.
Если я используюorderByKey
вернуть весь список.
Query citiesQuery = databaseRef.child("cities").startAt(input).orderByValue();
citiesQuery.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
List<String> cities = new ArrayList<String>();
for (DataSnapshot postSnapshot: dataSnapshot.getChildren()) {
cities.add(postSnapshot.getValue().toString());
}
Замечания: Если вы можете порекомендовать лучшую структуру данных, пожалуйста.