在Firebase的帮助下在Android应用程序中搜索功能

6tdlim6h  于 2023-10-22  发布在  Android
关注(0)|答案(1)|浏览(112)

我在我的Android项目中实现了一个搜索功能,我使用了回收器视图和Firebase实时数据库来显示我想要显示的信息。现在,当我搜索任何东西时,这是区分大小写的,我想让它不区分大小写。有可能吗?
我所期待的是,当我搜索“见面”,那么它应该显示的结果为“见面”。

voj3qocg

voj3qocg1#

有两种方法可以解决这个搜索问题。第一种方法是使用String#toLowerCase()方法将数据从一开始就存储在MySQL中。因此,如果您想搜索的名称在谷歌,这个解决方案将工作得很好。
如果你想向用户显示数据,首字母大写,那么只需使用以下代码行:

String firstLetterCapital = lowercaseName.substring(0, 1).toUpperCase() + lowercaseName.substring(1);

因此,如果您有一个名为meet的项目,当使用上面的代码行时,结果将是Meet
第二种方法是将meetMeet都存储为对象的属性:

db
 |
 --- items
       |
       --- ItemIdOne
             |
             --- name: "Meet"
             |
             --- nameToLowerCase: "meet"

现在,要创建一个搜索,您可以使用如下所示的查询:

DatabaseReference db = FirebaseDatabase.getInstance().getReference();
DatabaseReference itemsRef = db.child("items");
Query query = itemsRef.orderByChild("nameToLowerCase").startAt(name.toLowerCase());

相关问题