firebase indexin方法?android中的错误

firebase indexin方法?android中的错误,android,jquery,firebase,firebase-realtime-database,Android,Jquery,Firebase,Firebase Realtime Database,当我需要应用查询时,firebase出现问题 给我这样的错误信息 使用未指定的索引。考虑添加“.Noxon”:“用户名”在“书籍”到“安全”和“FielBASE数据库规则”上,以更好的性能 这是我的代码: DatabaseReference databaseReference = FirebaseDatabase.getInstance().getReferenceFromUrl("****/books"); Query query = databaseReference.orderB

当我需要应用查询时,firebase出现问题

给我这样的错误信息

使用未指定的索引。考虑添加“.Noxon”:“用户名”在“书籍”到“安全”和“FielBASE数据库规则”上,以更好的性能

这是我的代码:

 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);
DatabaseReference-DatabaseReference=FirebaseDatabase.getInstance().getReferenceFromUrl(“***/books”);
Query Query=databaseReference.orderByChild(“用户名”).equalTo(true);
final FirebaseListAdapter FirebaseListAdapter=新的FirebaseListAdapter(这个,Books.class,android.R.layout.two\u line\u list\u项,查询){
@凌驾
受保护的void populateView(视图v、书本模型、int位置){
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);
我在网上读到一些帖子,谈论“Indexin”和firebase规则? 我不明白你的意思?请帮我保存我的一天

转到项目的最后一页

您会发现类似于:

{
  "rules": {
    ".read": "auth != null",
    ".write": "auth != null"
  }
}
在“规则”节点下,为索引添加子级。因此,如果从上述内容开始,它将变成:

{
  "rules": {
    ".read": "auth != null",
    ".write": "auth != null",
    "Books": {
      ".indexOn": "username"
    }
  }
}
然后公布你的规则。根据此指令,Firebase数据库服务器将为每本书的用户名创建索引。这允许它在服务器上对用户名执行查询。

转到项目的

您会发现类似于:

{
  "rules": {
    ".read": "auth != null",
    ".write": "auth != null"
  }
}
在“规则”节点下,为索引添加子级。因此,如果从上述内容开始,它将变成:

{
  "rules": {
    ".read": "auth != null",
    ".write": "auth != null",
    "Books": {
      ".indexOn": "username"
    }
  }
}
然后公布你的规则。根据此指令,Firebase数据库服务器将为每本书的用户名创建索引。这允许它在服务器上对用户名执行查询