2017-08-30 18 views
0

私はアプリケーションを開発中です。アプリケーションはすでにFirebaseに新しいクライアントを登録しています。私はFirebaseUIを使ってRecyclerViewの情報をFirebaseから読み込むことができましたが、検索する必要もあります。Android - Firebase RecyclerView Search

しかし、私はまだ誰かが例を持っている場合、これを行うにはどうすればよいのか疑問を抱いています。

私はRetrofitを使用して、https://appname-f7ei5.firebase.com/clientsというリンクを渡して、JSONになると思っていましたか?

また、RecyclerView.AdapterViewHolderを作成する必要がありますが、Firebaseから直接どのように情報をロードするのですか?

検索するには、アダプターにgetFilter()を使用することをお勧めします。

+0

おそらく重複した質問です。いくつかの検索を試みてください:https://www.google.nl/search?q=search+in+firebase+database&rlz=1C1GGRV_enIR756IR756&oq=Search+in+firebase&aqs=chrome.0.0j69i57j69i60j0l2.4616j0j7&sourceid=chrome&ie=UTF-8とにかく、私は必要なものを始めるためのコードをいくつか教えてください。 – Mohsen

答えて

0

これは、私がFireBaseデータベースで自分の投稿のタイトルを取得した理由です。 (子供)とorderByChildで試してみると、どのように動作するか見ることができます。言い換えれば、firebaseデータベースの先頭にchildをルートとし、それを折りたたんで、orderByChildを使ってルート項目を取得します。

Query queryRef = mReference.child("posts").orderByChild("title").startAt(query).endAt(query + "\uf8ff"); 
        queryRef.addValueEventListener(new ValueEventListener() { 
         @Override 
         public void onDataChange(DataSnapshot dataSnapshot) { 

          if (dataSnapshot.hasChildren()) { 

           for (DataSnapshot postsSnapshot : dataSnapshot.getChildren()) { 
            final Post post = postsSnapshot.getValue(Post.class); 
// and the rest ... 
.. 
.. 
.. 

そして、あなたの場合には、それはつもりことだ:

Query queryRef = mReference.child("users").orderByChild("username").startAt(query).endAt(query + "\uf8ff"); 

これは、クエリの検索によって、ユーザのユーザ名を返します。

関連する問題