2017-02-18 2 views
1

質問を適用する必要があるときにfirebaseに問題があります。firebase indexinメソッド? androidのエラー

は私に、不特定のインデックスを使用して、この

のようなエラーメッセージを与えます。セキュリティとパフォーマンス向上のためFirebaseデータベースルールにブックで

これは私のコードです:

DatabaseReference databaseReference = FirebaseDatabase.getInstance().getReferenceFromUrl("****/books"); 
    Query query = databaseReference.orderByChild("username").equalTo(true); 
    final FirebaseListAdapter<Books> firebaseListAdapter = new FirebaseListAdapter<Books>(this,Books.class,android.R.layout.two_line_list_item,query) { 
     @Override 
     protected void populateView(View v, Books model, int position) { 
      TextView textView1 = (TextView) v.findViewById(android.R.id.text1); 
      TextView textView2 = (TextView) v.findViewById(android.R.id.text2); 

      Typeface Myfont = Typeface.createFromAsset(getAssets(), "font/gernralfont.ttf"); 

      textView1.setTypeface(Myfont); 
      textView2.setTypeface(Myfont); 
      textView2.setTextSize(17); 
      textView2.setTextColor(Color.parseColor("#6eaafc")); 
      textView1.setTextColor(Color.parseColor("#4d70a0")); 
      textView1.setText("\n" + model.getUsername() +"\n"); 
      textView2.setText("-"+model.getBookhave()+ "\n"); 
     } 
    }; 


    hilist.setAdapter(firebaseListAdapter); 

私はおよそインターネットの話では、いくつかの記事を読む:「『ユーザー名』は 『.indexOn』」追加することを検討してくださいfirebaseのルールで 'Indexin'? 何を意味するのか分かりませんか?あなたのプロジェクトを保存するために私を助けてください

答えて

0

プロジェクトのrules tab of the Firebase Database consoleにアクセスしてください。 、ルールノードの下

{ 
    "rules": { 
    ".read": "auth != null", 
    ".write": "auth != null" 
    } 
} 

あなたのインデックスに子を追加:

あなたのような何かを見つけるでしょう。したがって、上記から始めると、次のようになります。

{ 
    "rules": { 
    ".read": "auth != null", 
    ".write": "auth != null", 
    "Books": { 
     ".indexOn": "username" 
    } 
    } 
} 

ルールを公開します。この指示により、Firebaseデータベースサーバは各書籍のユーザ名のインデックスを作成します。これにより、サーバー上のユーザー名に対してクエリを実行できます。

+0

ありがとうございました。現在100% –

関連する問題