Я занимаюсь разработкой приложения в Kotlin и уже настроил свою базу данных Firebase. Я могу записать данные в свою базу данных, однако я не могу прочитать данные из нее. Вот изображение моей базы данных:
Я хотел бы получить список всех заголовков в Basics
, Functions
или Loops
. Для большего контекста, это приложение для обучения людей программированию в Kotlin, и на вкладке прогресса я в основном перечисляю все темы, которые пользователь завершил в моем приложении. Итак, как я могу запросить мою базу данных, чтобы получить список всех заголовков, перечисленных в скажем Basics
? Я хотел бы, чтобы желательно просто список строк, содержащих строки Condition
и Datatype
. Мне просто нужны названия тем, которые они закончили для этого конкретного раздела (в данном случае это Basics
). В общем, мне нужны дочерние имена Basics
, Functions
и Loops
.
Мой класс прогресса:
package nus.is3261.kotlinapp
import com.google.firebase.database.IgnoreExtraProperties
@IgnoreExtraProperties
class Progress {
var completed: String? = null
constructor() {
// Default constructor required for calls to DataSnapshot.getValue(Post.class)
}
constructor(time: String) {
this.completed = time
}
}
Как я записываю данные в мою базу данных:
/**
* For firebase database
*/
private fun submitProgress(str: String, chapter: Int) {
val currentUser = mAuth!!.currentUser
// if user is not logged in, don't write
currentUser?:return
val time = SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(Calendar.getInstance().time)
val progress = Progress(time)
when(chapter){
1 -> mProgressReference!!.child(currentUser.uid!!).child("Progress").child("Basics").child(str).setValue(progress)
2 -> mProgressReference!!.child(currentUser.uid!!).child("Progress").child("Loops").child(str).setValue(progress)
3 -> mProgressReference!!.child(currentUser.uid!!).child("Progress").child("Functions").child(str).setValue(progress)
}
}