Я использую Adroid Studio и кодирую в Kotlin (должен быть в Kotlin, я не знаю, как преобразовать Java в Kotlin и я новичок в Kotlin) для хранения и обновления некоторые данные в Firebase Realtime Database.
База данных выглядит следующим образом:
json data
Я хочу обновить доступное поле в Lockcker до 0, например в базе данных. В настоящее время это 1, как видно из JSON.
Код, который я написал до сих пор, выглядит следующим образом.
val reference = firebaseDatabase.getReference("Locker")
val addValueEventListener = reference.addValueEventListener(object : ValueEventListener {
override fun onCancelled(error: DatabaseError) {
Toast.makeText(
this@LoanActivity,
"Failed to reach database: $error!",
Toast.LENGTH_LONG
).show()
}
override fun onDataChange(data: DataSnapshot) {
val lockers = mutableListOf<Locker>()
data.children.forEach { child ->
val locker = child.getValue(Locker::class.java)
if (locker != null && locker.available==1) {
lockers.add(locker)
Log.d("LOCKER", "name:"+locker.name+" key="+child.key)
}
}
//Update a locker in the lockers list created above
//i.e. make locker.available = 0
//???