根据文本值使用kotlin将数据从Firebase检索到android studio [英] Retrieving data from firebase to android studio using kotlin depending on text value

查看:124
本文介绍了根据文本值使用kotlin将数据从Firebase检索到android studio的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何获取从Firebase检索的数据的ID,以便我可以根据ID限制从Firebase检索的数据.

这是我当前的代码,它从我的Firebase数据库上的子甲虫"中检索所有数据,我想对此加以限制,以便根据ID是什么,它仅显示1个数据.

    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
            }
        }
    })

这是我的Firebase结构:

firebase数据库

解决方案

您可以在此处访问Google Developer推荐的培训 Codelabs-Android

  • 我为您过滤了Android类别.您可以在此处找到Web/Mobile快速培训或后续的演示.

它写在Java上,但是这个想法仍然存在.

如果您对Kotlin不太熟悉,则可以在Android Studio上快速将代码转换为Kotlin并稍后进行研究.从您的Refactor菜单中(如果我没有误认为3.2.1以下的最新版本).

Firebase文档中,请不要忘记将标签更改为Kotlin.

. 如果文档中没有Kotlin选项卡,请尝试使用工具中的Firebase,然后选择Realtime Database.它将向您显示基本代码.由于我正在使用Java,因此它显示了Java代码.由于您的默认语言是Kotlin, 也许会显示Kotlin代码.

.

Kotlination-Firebase

how to get the id of data retrieved from the firebase so I can limit the data being retrieved from the firebase depending on the id.

here is my current code, it retrieves all the data from child "beetle" on my firebase database, I want to limit that so it will show only 1 data depending on what the id is.

    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
            }
        }
    })

here is my firebase structure:

firebase database

解决方案

You can visit Google Developer recommended training here Codelabs - Android

  • I filter Android category for you. You can find Web / Mobile quick training here or demo to follow along.

It is written on Java , but the idea is still there.

And you can quickly convert your code to Kotlin on Android Studio and study them later if your not familiar with Kotlin that much. From your Refactor menu (If I'm not mistaken for late version below 3.2.1).

.

.

From Firebase Docs don't forget to change the tab to Kotlin.

. If there is no Kotlin tab from the documentation, try the Firebase from your tool, and select the Realtime Database. It will show you the basic code. Since I'm using Java , it is showing Java code. Since your default lang is Kotlin, maybe it will show Kotlin code.

.

Kotlination - Firebase

这篇关于根据文本值使用kotlin将数据从Firebase检索到android studio的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆