Firebase按字符搜索 [英] Firebase searching by character

查看:241
本文介绍了Firebase按字符搜索的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在Firebase应用程序中使用了FirebaseRecyclerAdapter,而且我至今还不知道如何在Firebase中进行字符搜索,我已经使用了一个查询,并且得到了一个好结果,但是它不可用,这里是我的数据库我想搜索:





下面是我写M或m时得到的结果:





所以我只需要>>当我写m 自动将所有以m开头的用户名必须显示为mike。 试试这个

  Query Q = mDatabase.child(Users)。orderByChild(Username)。startAt(newText).endAt(〜); 


I am using FirebaseRecyclerAdapter in my firebase app and I am still till now didn't know how to search in Firebase by character, I have already used an query and I have got a good result but its not usable, here's my database I want to search in:

And here's my method that I use it but it get the "Username" if I enter full name only so if I write "m" nothing show:

mMainSearcher.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
        @Override
        public boolean onQueryTextSubmit(String query) {
            return false;
        }

        @Override
        public boolean onQueryTextChange(String newText) {

            Query Q = mDatabase.child("Users").orderByChild("Username").equalTo(newText);

            FirebaseRecyclerAdapter<Getting_Friends, Search.SearchViewHolder> firebaseRecyclerAdapter22 = new FirebaseRecyclerAdapter<Getting_Friends, Search.SearchViewHolder>(
                    Getting_Friends.class, R.layout.my_friends_card, Search.SearchViewHolder.class, Q) {
                @Override
                protected void populateViewHolder(final Search.SearchViewHolder viewHolder, final Getting_Friends model, int position) {

                    viewHolder.setUsername(model.getUsername());
                    viewHolder.setProfile(getApplicationContext(), model.getProfile());

                }
            };
            mFriendsRecyclerView.setAdapter(firebaseRecyclerAdapter22);
        return false;
        }
    });

Here's what I got when I enter fully name:

And here's what I got when I write "M" or "m":

So I only need >> When I write "m" automatically all users name start with "m" must be shown like mike.

解决方案

Try this

Query Q = mDatabase.child("Users").orderByChild("Username").startAt(newText).endAt("~");

这篇关于Firebase按字符搜索的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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