Как искать данные в нижним регистре Firebase database?

102
22 ноября 2019, 22:00

Поисковить у меня работает так

private void firebaseSearch(String searchtext) {
    Query firebaseSearchQuery = mRef.orderByChild("kzSongTitle").startAt(searchtext).endAt(searchtext + "\uf8ff");
    options = new FirebaseRecyclerOptions.Builder<Ander>().setQuery(firebaseSearchQuery,Ander.class).build();
    firebaseRecyclerAdapter =new FirebaseRecyclerAdapter<Ander, ViewHolder>(options) {
        @Override
        protected void onBindViewHolder(@NonNull ViewHolder holder, int position, @NonNull Ander model) {
            holder.setDetails(getApplicationContext(), model.getSongName(), model.getSongSinger(), model.getkzSongytblink(), model.getKzSongAuthorName(), model.getkzSongComposerName(), model.getSongText());
        }
        @NonNull
        @Override
        public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {

            View itemView = LayoutInflater.from(parent.getContext()).inflate(R.layout.row, parent,false );
            ViewHolder viewHolder = new ViewHolder(itemView);
            //Item click Listener
            viewHolder.setOnClickListener(new ViewHolder.ClickListener() {
                @Override
                public void onItemClick(View view, int position) {
                    String mSongName = getItem(position).getSongName();
                    String mSingerName = getItem(position).getSongSinger();
                    String kzComposer = getItem(position).getkzSongComposerName();
                    String kzAuthor = getItem(position).getKzSongAuthorName();
                    String kzSongText = getItem(position).getSongText();
                    String kzYtbLink = getItem(position).getkzSongytblink();
                    //Pass this data to new Activity
                    Intent intent = new Intent(view.getContext(), PostDetailActivity.class);
                    intent.putExtra("songname", mSongName);
                    intent.putExtra("singername", mSingerName);
                    intent.putExtra("composername", kzComposer);
                    intent.putExtra("authorname", kzAuthor);
                    intent.putExtra("songtext", kzSongText);
                    intent.putExtra("ytblink", kzYtbLink);
                    startActivity(intent);
                }
                @Override
                public void onItemLongClick(View view, int position) {
                }
            });
            return viewHolder;
        }
    };
    //set layout as LinearLayout
    mRecyclerView.setLayoutManager(mLayoutManager);
    firebaseRecyclerAdapter.startListening();
    //set adapter to firebase recycler
    mRecyclerView.setAdapter(firebaseRecyclerAdapter);
}

Дело в том у меня в базе много данных. И метод который я нашел в интернете не очень эффективен. Там нужно было создать новый ключ с нижним регистром.Мне же нужно какой-то другой способ. К примеру при получении данных с базы данных он получал все в нижним регистре. К сожалению уже несколько часов пробую различные методы.

READ ALSO
Будильник не срабатывает

Будильник не срабатывает

Пишу код будильника для своего приложения, но он не срабатывает

141
Написание Unit - тестов в Android

Написание Unit - тестов в Android

Всем привет, пишу тестовое задание на Android - разработчика, и одним из требований является написание нескольких Jnit тестов (которые я ни разу...

124
Webkit android вывод элементов

Webkit android вывод элементов

Если ли какая нибудь возможность в webkit выводить определенные элементы/блоки со страницы сайта, работоспособныеНапример, есть мобильная...

119
Зачем нужно return this, внутри класса Builder, в шаблоне Builder

Зачем нужно return this, внутри класса Builder, в шаблоне Builder

У вас применен шаблон Builder и шаблон Fluent Interface

132