未能将价值纳入日志消息? 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的主要内容,如果未能解决你的问题,请参考以下文章