android - 根据文本值使用 kotlin 将数据从 firebase 检索到 android studio
问题描述
如何获取从 firebase 检索的数据的 id,以便我可以根据 id 限制从 firebase 检索的数据。
这是我当前的代码,它从我的 firebase 数据库上的子“甲虫”中检索所有数据,我想限制它,因此它只会显示 1 个数据,具体取决于 id 是什么。
lateinit var listView: ListView
lateinit var ref: DatabaseReference
lateinit var beetleList:MutableList<Beetle>
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_classify)
val capturedImage = intent.extras.getParcelable("captured_image") as Bitmap?
val beetleName=intent.getStringExtra("Beetle")
imageCaptured2.setImageBitmap(capturedImage)
textBeetleName.setText(beetleName)
listView = findViewById(R.id.beetle_list)
beetleList = mutableListOf()
ref = FirebaseDatabase.getInstance().getReference("beetle")
ref.addValueEventListener(object : ValueEventListener{
override fun onCancelled(p0: DatabaseError) {
}
override fun onDataChange(p0: DataSnapshot) {
if(p0!!.exists()){
beetleList.clear()
for (e in p0.children){
val beetle = e.getValue(Beetle::class.java)
beetleList.add(beetle!!)
}
val adapter = BeetleCardAdapter(this@classify,R.layout.beetle_card_item,beetleList)
listView.adapter = adapter
}
}
})
这是我的火力基地结构:
解决方案
您可以在此处访问 Google Developer 推荐的培训 Codelabs - Android
- 我为您过滤
Android
类别。您可以在此处找到 Web / 移动快速培训或演示以进行跟进。
它写在 上Java
,但想法仍然存在。
Kotlin
如果您不太熟悉,您可以快速将您的代码转换到Android Studio 并在以后研究它们Kotlin
。从您的Refactor
菜单中(如果我没有误认为是 3.2.1 以下的最新版本)。
从Firebase 文档不要忘记将选项卡更改为Kotlin
.
. 如果文档中没有Kotlin
选项卡,请尝试使用Firebase
您的工具,然后选择Realtime Database
. 它将向您展示基本代码。由于我使用Java
的是 ,它正在显示 Java 代码。由于您的默认 lang 是Kotlin
,也许它会显示Kotlin
代码。
.
推荐阅读
- vuforia - 错误 UnityEngine.XR.WSA.Input.InteractionManager::GetCurrentReading_Internal
- python - 无法将插座连接到蓝牙配对设备
- c# - 如何通过提供方法名称作为字符串来模拟服务方法
- tensorflow - 如何以有效的方式标记我的图像分类数据集?
- pandas - 如何通过查找另一个字符串位置来对数据框中的字符串进行切片,并且每行的位置值都不同?
- iis - asp页面中的错误500,Response_Buffer_Limit_Exceeded,查找导致它的操作
- javascript - Froala 编辑器未显示链接的编辑/插入/取消链接选项
- mysql - 我在使用内部联接的 mysql 更新查询中遇到错误
- javascript - 有没有办法检测特定味精的味精反应?
- python - 正则表达式仅包括“-”和“。”的第一次遇到。