Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 在firebase实时数据库中查找所有匹配项_Android_Search_Firebase_Firebase Realtime Database - Fatal编程技术网

Android 在firebase实时数据库中查找所有匹配项

Android 在firebase实时数据库中查找所有匹配项,android,search,firebase,firebase-realtime-database,Android,Search,Firebase,Firebase Realtime Database,您好,请我需要在数据库中搜索firebase所有外观与一个参数,并写在显示器上或保存在对象。(如果保存在对象中,我可以处理它) 我的数据库正在查找 我需要获得所有匹配的mDatabaseReference.child(“horse”).child(kon.getUid()).child(“plemeno”)和“Hnedy” 把钱存起来。或在显示器上进行写操作,然后进行搜索 我不知道为什么 谢谢 如果我需要运行所有数据库进行搜索,或者它就在这里 请给我所有我选择的最适合我的建议 如果你需要更多的

您好,请我需要在数据库中搜索firebase所有外观与一个参数,并写在显示器上或保存在对象。(如果保存在对象中,我可以处理它)

我的数据库正在查找

我需要获得所有匹配的mDatabaseReference.child(“horse”).child(kon.getUid()).child(“plemeno”)和“Hnedy”

把钱存起来。或在显示器上进行写操作,然后进行搜索

我不知道为什么

谢谢

如果我需要运行所有数据库进行搜索,或者它就在这里

请给我所有我选择的最适合我的建议

如果你需要更多的信息,请写信,但我不知道你需要什么

…我不知道该说什么

////////////////////////////////////////////////

首先,我用这个代码在显示器上写下所有数据库

private void addEventFirebaseListener() {
    //Progressing
    circular_progress.setVisibility(View.VISIBLE);
    list_data.setVisibility(View.INVISIBLE);

    mDatabaseReference.child("horse").addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            if(list_kone.size() > 0)
                list_kone.clear();
            for(DataSnapshot postSnapshot:dataSnapshot.getChildren()){
                Kon kon = postSnapshot.getValue(Kon.class);
                list_kone.add(kon);
            }
            ListViewAdapter adapter = new ListViewAdapter(All.this,list_kone);
            list_data.setAdapter(adapter);

            circular_progress.setVisibility(View.INVISIBLE);
            list_data.setVisibility(View.VISIBLE);
        }

        @Override
        public void onCancelled(DatabaseError databaseError) {

        }
    });
}
但我认为这对搜索来说并不重要

试试这个:

mDatabaseReference.child("horse").orderByChild("plemeno").equalTo("Hnedy").addListenerForSingleValueEvent(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) { 
            // retrieve the data into an object: kon here
            for(DataSnapshot postSnapshot : dataSnapshot.getChildren()){
                Kon kon = postSnapshot.getValue(Kon.class);
                if (cenaFilter && kon.getCena().equals("100")) {
                   // RETRIEVE DATA
                }
            }
        }

        @Override
        public void onCancelled(FirebaseError firebaseError) {

        }
    });
这里的
cenaFilter
是一个布尔值,它等于
true
,如果用户选择了这个特定的过滤器,
false
,否则

试试这个:

mDatabaseReference.child("horse").orderByChild("plemeno").equalTo("Hnedy").addListenerForSingleValueEvent(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) { 
            // retrieve the data into an object: kon here
            for(DataSnapshot postSnapshot : dataSnapshot.getChildren()){
                Kon kon = postSnapshot.getValue(Kon.class);
                if (cenaFilter && kon.getCena().equals("100")) {
                   // RETRIEVE DATA
                }
            }
        }

        @Override
        public void onCancelled(FirebaseError firebaseError) {

        }
    });

这里的
cenaFilter
是一个布尔值,如果用户选择了这个特定的过滤器,则等于
true
,否则等于
false
,并且从哪个变量获取所有其他信息?用于打印输出。dataSnapshot?正如您通常所做的:
for(dataSnapshot postSnapshot:dataSnapshot.getChildren()){…}
谢谢您的帮助。。。但是如果我想搜索更多的标准,例如plemeno:hnedy和cena:100?好的,那么你可以接受答案:)据我所知,使用firebase,你不能对数据进行两次排序/过滤。您可以在for循环中这样做:
for(DataSnapshot postSnapshot:DataSnapshot.getChildren()){if(yourObj.getCena().equals(“100”){…}
请更新您的answre或edit for search by 2准则以及从哪个变量获取所有其他信息?用于打印输出。dataSnapshot?正如您通常所做的:
for(dataSnapshot postSnapshot:dataSnapshot.getChildren()){…}
谢谢您的帮助。。。但是如果我想搜索更多的标准,例如plemeno:hnedy和cena:100?好的,那么你可以接受答案:)据我所知,使用firebase,你不能对数据进行两次排序/过滤。您可以在for循环中这样做:
for(DataSnapshot postSnapshot:DataSnapshot.getChildren()){if(yourObj.getCena().equals(“100”){…}
请更新您的answre或按2个标准编辑搜索您的问题中包含了JSON树的图片。请将其替换为实际的JSON作为文本,您可以通过单击Firebase数据库控制台中的导出JSON链接轻松获得该文本。将JSON作为文本使其具有可搜索性,使我们能够轻松地使用它来测试您的实际数据,并在我们的答案中使用它,这通常是一件好事。您的问题中包含了JSON树的图片。请将其替换为实际的JSON作为文本,您可以通过单击Firebase数据库控制台中的导出JSON链接轻松获得该文本。将JSON作为文本使其具有可搜索性,允许我们轻松地使用它来测试您的实际数据,并在我们的答案中使用它,这通常是一件好事。