未能将价值纳入日志消息? Kotlin - Firebase

Posted

技术标签:

【中文标题】未能将价值纳入日志消息? Kotlin - Firebase【英文标题】:failed to get value into log message? Kotlin - Firebase 【发布时间】:2021-11-27 07:55:29 【问题描述】:

我试图获取特定值作为日志消息。但是上面写着D/TAG: null为什么得不到值呢?

这是我的数据类

data class CityCodes(val codeNo: String? = null, val city: String? = null, val cost: String? = null)

这是我的代码

val ref = FirebaseDatabase.getInstance().getReference("CityCodes")

在 Activity 中创建


        val ButtonScan = findViewById<Button>(R.id.button7)
        ButtonScan.setOnClickListener 

            val textResult = findViewById<TextView>(R.id.textView9)
            val codeId = findViewById<EditText>(R.id.editTextTextPersonName)

            if (textResult.text.isNotEmpty() && codeId.text.isNotEmpty())
                payFare()
            
            else
                Toast.makeText(this@scannerActivity, "Enter code ", Toast.LENGTH_LONG).show()
            
        

这是 payFare 函数

 private fun payFare() 
        val codeId = findViewById<EditText>(R.id.editTextTextPersonName)
        val code = codeId.getText().toString()
        val ref2 = ref.child("CityCodes").child(code)
        val valueEventListener = object : ValueEventListener 
            override fun onDataChange(dataSnapshot: DataSnapshot) 

                val price = dataSnapshot.child("cost").getValue(String::class.java)
                //val price1 = price.toString().toDouble()

                Log.d("TAG", "$price")

            

            override fun onCancelled(error: DatabaseError) 
                Log.d("TAG", error.getMessage())

            
        
        ref2.addListenerForSingleValueEvent(valueEventListener)

    

这是我的 firebase 节点CityCodes

我是 kotlin 的新手,所以我会感谢专家的指导。

firebase 依赖项

    implementation 'com.google.firebase:firebase-database-ktx'
    implementation 'com.google.firebase:firebase-analytics-ktx'
    implementation platform('com.google.firebase:firebase-bom:28.4.1')

【问题讨论】:

请问,您使用的是什么版本的 firebase? @NandaR.M 更新问题 我认为仍然缺乏有关您的 firebase 节点的信息,CityCodes 是否有父节点,并且您是否已经设置规则以读取和写入 true(如果不使用身份验证)。如果你尝试Log.e(TAG,FirebaseDatabase.getInstance().getReference()) 你得到了什么。对不起,如果我没有提供足够的帮助。 :D 【参考方案1】:

我解决了。只需将 firebase.reference 添加到 payFare 函数中即可。

只改了这一行

val ref2 = ref.child("CityCodes").child(code)

进入这个

val rootRef = FirebaseDatabase.getInstance().reference
val Ref = rootRef.child("CityCodes").child(code1)   

并删除val ref = FirebaseDatabase.getInstance().getReference("CityCodes")

来自活动的行。

【讨论】:

以上是关于未能将价值纳入日志消息? Kotlin - Firebase的主要内容,如果未能解决你的问题,请参考以下文章

消息队列价值思考

听说编程纳入高考是真的吗编程纳入高考最新消息该怎么准备

好的测试团队需要有妹子!

消息队列在企业架构中扮演着什么角色?

安装oracle11的时候 提示ORA-28056 未能将审计记录写入windows事件日志,这是怎么回事啊

HQueue:基于HBase的消息队列