Выполняю запрос к своей базе данных Firebase:
rootRef = FirebaseDatabase.getInstance().getReference(); //Общая ссылка на бд
DatabaseReference resultRef = rootRef.child("Recepts");
Query resultQuery = resultRef.orderByChild("Ingridients"); //Работаем с поиском рецептов
resultQuery.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for(DataSnapshot ds : dataSnapshot.getChildren()) {
String value = ds.child("Ingridients").getValue(String.class);
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
База имеет такую структуру:
{
"Recepts" : [ {
"Ingridients" : [ "Sugar", "Carrot", "Orange" ],
"Name" : "Carrot Salad"
}, {
"Ingridients" : [ "Orange", "Milk" ],
"Name" : "Orange Milk"
} ]
}
Выполняя строчку:
String value = ds.child("Ingridients").getValue(String.class);
Я получаю ошибку:
com.google.firebase.database.DatabaseException: Failed to convert value of type java.util.ArrayList to String
at com.google.android.gms.internal.zg.zzb(Unknown Source)
at com.google.android.gms.internal.zg.zza(Unknown Source)
at com.google.firebase.database.DataSnapshot.getValue(Unknown Source)
at com.example.user.xolostyak20.ResultActivity$1.onDataChange(ResultActivity.java:38)
at com.google.android.gms.internal.to.zza(Unknown Source)
at com.google.android.gms.internal.vj.zzHX(Unknown Source)
at com.google.android.gms.internal.vp.run(Unknown Source)
at android.os.Handler.handleCallback(Handler.java:815)
at android.os.Handler.dispatchMessage(Handler.java:104)
at android.os.Looper.loop(Looper.java:207)
at android.app.ActivityThread.main(ActivityThread.java:5927)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:958)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:819)
Из-за того что ds
в момент выполнения кода равно ассоциативному массиву:
DataSnapshot { key = 0, value = {Name=Carrot Salad, Ingridients={0=Sugar,1=Carrot, 2=Orange}} }
Собственно вопрос:
Как мне из DataSnapshot
вычленить конкретное поле которое мне нужно? Если быть точным то поле Ingridients
?
Мне нужно убирать из строки ненужные символы методом replaceAll(String regex, String replacement)Например строка "Hel
Решил написать свой плагин для CordovaЗа основу взял эту инструкцию - ссылка
Создаю приложение в Android Studio, мне необходимо взять данные из таблицы базы MySQL и вывести их в Android StudioКак подключиться к базе MySQL и вывести данные?
Пытаюсь развернуть веб - приложение Vaadin на Eclipse с помощью сервлета WildFly 100