程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了如何在 android studio Kotlin Language 中根据选定月份搜索 Firebase Firestore 数据库大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决如何在 android studio Kotlin Language 中根据选定月份搜索 Firebase Firestore 数据库?

开发过程中遇到如何在 android studio Kotlin Language 中根据选定月份搜索 Firebase Firestore 数据库的问题如何解决?下面主要结合日常开发的经验,给出你关于如何在 android studio Kotlin Language 中根据选定月份搜索 Firebase Firestore 数据库的解决方法建议,希望对你解决如何在 android studio Kotlin Language 中根据选定月份搜索 Firebase Firestore 数据库有所启发或帮助;

Activitymain.xml 中的 Firestore 数据库访问代码

    db.collection("billNo") // I think want to add some code here to get the data!!//
            .get()
            .addOnsuccessListener {
                user.clear()
                for (document in it) {
                    user.add(User(
                            document.ID,document.data.get("billNo").toString().toInt(),document.data.get("date").toString(),document.data.get("name").toString(),document.data.get("amount").toString().toInt(),document.data.get("payment").toString()
                    )
                    )
                }

数据库结构

@Parcelize
    data class User(
    val ID: String,val billNo: Int,val date: String,val name: String,val amount: Int,var payment:string
    ) : Parcelable

如何在 android studio Kotlin Language 中根据选定月份搜索 Firebase Firestore 数据库

我将 billNo、日期、姓名、金额、paID_or_unpaID 数据添加到 FIREBASE DATABASE 中。因此,当我单击搜索时,我想在 RecyclerVIEw 中获取所选月份的详细信息。所有 RecyclerVIEw 代码和其他东西都工作得很好。只有我想检索所选月份的数据。

当我在以下活动中单击相应的月份和年份时(下面提供了屏幕截图),我想从 FIREBASE FIRE STORE DATA Base 获取相应月份的账单详细信息。我尝试了很多。我找不到解决方案。我正在使用 KOTliN 编程语言在 AndroID studio 上做我的项目。

如何在 android studio Kotlin Language 中根据选定月份搜索 Firebase Firestore 数据库

解决方法

Firestore 中没有 LIKE 运算符。所以像这样的查询:

"SELECT * FROM tablename WHERE date LIKE %$month-$year%"

实际上不可能。因为您的“日期”字段实际上是一个字符串,所以在使用小数据集时,您可能会虑使用:

  • Is there a way to search sub String at Firestore?

或者您可以尝试使用在 Google I/O 2021 上宣布的新 Firebase 扩展,名为:

  • Search with Algolia

或者直接在代码中:

  • Is it possible to use Algolia query in FirestoreRecyclerOptions?

但是,有两种解决方法可用于实现相同的结果。第一个是在您的用户对象中创建另一个名为“monthYear”的字段。此属性将拥有与“日期”属性不同的值。例如,如果您的“date”属性的值为“03-May-2021”,“monthYear”属性将保持“May-2021”的值。话如此,查询在 Kotlin 中将如下所示:

val rootRef = FirebaseFirestore.geTinstance()
val queryBymonthYear = rootRef.collection("billNo").whereEqualTo("monthYear","May-2021")

第二种解决方案是将“日期”的类型从字符串更改为时间戳。请参阅下文,了解如何向 Firestore 添加时间戳:

  • How to add a timestamp in Firestore with Android?

它在 Java 中,但您可以简单地在 Kotlin 中转换它。然后,您可以使用 Query 调用 startAt(startDatE) 和 endAt(endDatE)

大佬总结

以上是大佬教程为你收集整理的如何在 android studio Kotlin Language 中根据选定月份搜索 Firebase Firestore 数据库全部内容,希望文章能够帮你解决如何在 android studio Kotlin Language 中根据选定月份搜索 Firebase Firestore 数据库所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。