【发布时间】:2018-09-30 11:38:53
【问题描述】:
我正在尝试生成一个介于 1 和 5 之间的随机整数,并在第一次调用 saveData() 时将该整数插入 Firebase 数据库。第一次之后,当调用saveData() 时,整数应该增加(新生成的整数应该添加到之前插入的整数中)。每次在下面调用 saveData() 时,代码都会覆盖先前插入的整数,而不是递增整数。
protected fun saveData() {
val randomInt = Random().nextInt((5-1) + 1)//generates int between 1 & 5
val user = User(randomInt)
val currentUser = mAuth?.currentUser
val uid: String = currentUser!!.uid
val ref = FirebaseDatabase.getInstance().getReference("users").child(uid)
ref.setValue(user).addOnCompleteListener {
Toast.makeText(this,"Successful" , Toast.LENGTH_SHORT).show()
}
}
用户.kt
class User(val randomInt: Int)
我在调用 saveData() 之后进入 firebase 数据库的结构可以说是 3 次,可以说每次生成的随机整数是 2、1 和 4:
my-firebase-app-5c40
|__-Lhi7dewd7878dew
|__randomInt: 4 //2 is overwritten 1 and 1 is overwritten by 4
而我希望它是:
my-firebase-app-5c40
|__-Lhi7dewd7878dew
|__randomInt: 7 //2 + 1 + 4
因此,简而言之,我想在每次调用 saveData() 时增加 randomInt 的值,而不是覆盖当前代码中发生的先前插入的值。
【问题讨论】:
标签: java android firebase firebase-realtime-database kotlin