Я новичок в kotlin. И только я его учу. Если вы можете мне помочь. У меня снова есть вопросы по поводу firebase. У меня такая структура:
{
"BarcodeBase" : {
"Pepsi" : {
"Pepsi Black" : {
"barcode" : "4820036487899",
"namebar" : "Pepsi Black"
},
"Pepsi Chery" : {
"barcode" : "4820036487789",
"namebar" : "Pepsi Chery"
}
}
},
"users" : {
"4WZ8sYdLfNeNTDH7t0JZXKbNdmF2" : {
"company" : "Pepsi",
"email" : "test@gmail.com",
"id" : "4WZ8sYdLfNeNTDH7t0JZXKbNdmF2"
}
}
}
Мне нужно вывести панель имен и штрих-код. Я пишу в базу данных так:
private fun addbarcode() {
val name = etname.text.toString()
val barcode = etNumber.text.toString()
if (TextUtils.isEmpty(name)) { Toast.makeText(applicationContext, "Please enter name...", Toast.LENGTH_LONG).show()
return }
if (TextUtils.isEmpty(barcode)) { Toast.makeText(applicationContext, "Please enter barcode!", Toast.LENGTH_LONG).show()
return }
val dataMap = mutableMapOf<String, Any>()
dataMap[CHILD_NAMEBARCODE] = name
dataMap[CHILD_BARCODE] = barcode
REF_DATABASE_ROOT.child(NODE_BARCODE).child(USER.company).child(name)
.updateChildren(dataMap).addOnCompleteListener { task2 ->
if (task2.isSuccessful) Toast.makeText(Iconics.applicationContext, "Successful!", Toast.LENGTH_LONG).show()
}
return }
Какой ребенок мне нужно использовать в других действиях после (USER.company)?
Извините за мой плохой английский sh (
-------------------- ОБНОВЛЕНИЕ
inline fun initBarcode(crossinline function: () -> Unit) {
REF_DATABASE_ROOT.child(NODE_BARCODE).child(USER.company).child(I do not know what can be used here)
.addListenerForSingleValueEvent(AppValueEventListener {
BARCODE = it.getValue(BarcodeDBModel::class.java) ?: BarcodeDBModel()
if (BARCODE.namebar.isEmpty()){ BARCODE.namebar = "Ошибка" }
function()
})
}
Вот мой выходной код. Но он не работает так, как мне нужно. Мне нужно изменить его, чтобы он работал. Но я не знаю, как это сделать.