我正在尝试将聊天消息添加到数据库,并且我正在使用子构造函数为消息添加时间戳,因此它不会一直覆盖自身,但由于某种原因,它不会添加子项,只是这是我的代码:
private fun sendData(){
val editText = groupsInput
val database = FirebaseDatabase.getInstance()
val myRef = database.getReference("message")
myRef.setValue(com.ntx_deisgns.cyberchatter.cyberchatter.Message(editText.text.toString()))
val mDatabase: DatabaseReference? = null
mDatabase?.
child("Group Chat")?.
child(java.lang.String.valueOf(System.currentTimeMillis()))?.
setValue(com.ntx_deisgns.cyberchatter.cyberchatter.Message(editText.text.toString()))
//clear the text
editText.setText("")
}
请注意,我设置了一个“组聊天”的子级和一个java.lang.String.valueOf(System.currentTimeMillis())
的子级,但是由于某种原因,它根本没有添加这些子级。我在这里做什么错了?
答案 0 :(得分:0)
您需要为mDatabase提供一个值。当前为空,因此不能用于将数据发送到数据库。
答案 1 :(得分:0)
尝试添加推送,
child("Group Chat").push().child(java.lang.String.valueOf(System.currentTimeMillis())).setValue(com.ntx_deisgns.cyberchatter.cyberchatter.Message(editText.text.toString()))
现在,您已对其进行了设置,因此仅使它成为Group Chat子项,然后每次仅更改数据,而不会使用新的时间戳创建新的子项。因此,推送将生成一个随机密钥,然后插入时间戳。