Как выбрать имя ключа в базе данных Firebase Realtime?
Ключ здесь генерируется автоматически (-LiNph8fnLlcDTkLqq_K). Как я могу выбрать его имя?
FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference myRef = database.getReference();
myRef.child("Data").push().setValue("some value");




push() метод сгенерирует случайный идентификатор. Если вы хотите выбрать свой собственный идентификатор, вы можете сделать следующее:
FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference myRef = database.getReference();
myRef.child("Data").child("firstData").child("value").setValue("some value");
Тогда у вас будет:
Data
firstData
value : some value
Но лучше использовать push(), поскольку в вашей базе данных не может быть одного и того же key дважды.
Найдите документы для сохранения данных здесь.
зависит от того, что вы хотите сделать, но вам, вероятно, нужно увеличить значение внутри дочернего элемента.., вы можете добавить его в цикл for, а затем сделать, например, child(String.valueOf(i))...
fun getListFromFirebaseDbByID(formDataID : String, formListener: SingleFormDataDBListener) {
val database = FirebaseDatabase.getInstance().reference
val rootRef = database.child(Constant.FIREBASE_DATABASE)
rootRef.addListenerForSingleValueEvent(object : ValueEventListener {
override fun onCancelled(p0: DatabaseError) {
}
override fun onDataChange(snapshot: DataSnapshot) {
val children = snapshot!!.children.iterator()
while (children.hasNext()) {
val currentItem = children.next()
val map = currentItem.getValue() as HashMap<String, Any>
val id = map.get("id") as String?
}
}
})
}
да, но как я могу продолжать добавлять новые элементы, не заменяя предыдущий элемент?