Так что в настоящее время у меня есть проект на основе Android, который подключен к базе данных в реальном времени с помощью базы данных Google. В базе данных у меня есть несколько детей, у каждого из которых есть координата и название. Цель состоит в том, чтобы извлечь данные каждого из этих детей и добавить их в качестве маркеров на карту Google.
Пример данных в базе данных
Моя текущая проблема заключается в том, что я не могу найти способ просто взять данные "Coord" и "Title" из моего dataSnapshot и поместить их в список массивов, чтобы затем добавить в качестве маркеров на карту. Пока вот мой код.
database.addListenerForSingleValueEvent(object :ValueEventListener{
override fun onDataChange(dataSnapshot: DataSnapshot) {
for (ds in dataSnapshot.children){
Log.d("TAG","Check the DS: " + ds)
val coordData = ds.child("Markers").getValue()
Log.d("TAG", "Check the Data: " + coordData)
}
fireMarkers.add(dataSnapshot.getValue())
for (location in fireMarkers)
{
Log.d("DATA", "Check location: " + location)
val markerValue = location.toString()
val result = markerValue.replace("[^\bCoord=(-|)[0-9]*,\\s(-|)[0-9]*]".toRegex(), "")
Log.d("TAG", "Check location RESULT are: " + result)
val checkResult = result.split(",").toTypedArray()
Log.d("TAG", "Check location RESULT SPLIT are: " + checkResult)
}
}
override fun onCancelled(error: DatabaseError) {
//print error.message
Log.e("TAG", "Snap didn't work " + error)
}
})
Я до сих пор не понял, как извлечь эти указанные c теги из базы данных и вставить их в массив fireMarkers. Я бы хотел просто получить эти данные из Firebase, но я не уверен, что делать дальше. Любая помощь будет оценена.