数据库子级不接受变量的值?

时间:2019-05-04 14:27:10

标签: android firebase kotlin

我正在尝试制作应用来保存用户的位置 当用户更新位置时 该位置将保存在数据库中 我正在尝试从另一个活动中获取价值,它是字符串 然后将值放在变量中,然后将其放在子级(变量)中 但该应用程序因此无法运行 当我把child(“ whatever”)放进去时 当我把孩子(变量)不起作用 为什么呢?

inner class myLocarionListenr: LocationListener {
        val us4 = intent.getStringExtra("user")

        constructor(){
            myLocation = Location("me")
            myLocation!!.longitude = 0.0
            myLocation!!.latitude =0.0
        }
        override fun onLocationChanged(location: Location?) {
            myLocation = location
            val longtude = myLocation!!.longitude
            val latetude = myLocation!!.latitude


            val myDatabase:DatabaseReference = FirebaseDatabase.getInstance().getReference("user's location")
            val ulocation = com.example.firebase.location(us4,longtude,latetude)


            myDatabase.child(us4).child("locations").setValue(ulocation).addOnCompleteListener {
                Toast.makeText(this@MapsActivity,"location saved",Toast.LENGTH_LONG).show()
            }

child(us4)使应用程序崩溃

1 个答案:

答案 0 :(得分:0)

根据错误:

  

com.google.firebase.database.DatabaseException:无效的Firebase数据库路径:leti@gmail.com。 Firebase数据库路径不得包含“。”,“#”,“ $”,“ [[或”]

您的路径中有一封电子邮件,并且由于电子邮件包含字符@,因此出现了以上错误。您需要将电子邮件更改为userId,以便您轻松识别用户。