Firebase Search-Nested object searching in Firebase AndroidIs there a way to run Python on Android?How do save an Android Activity state using save instance state?Close/hide the Android Soft KeyboardWhy is the Android emulator so slow? How can we speed up the Android emulator?Is there a unique Android device ID?What is 'Context' on Android?Proper use cases for Android UserManager.isUserAGoat()?Get children using orderByChild-equalsTo in Firebase-AndroidAdding Social Media Share Logic From Firebase in AndroidHow to get the data saved in a USER_ID?

If human space travel is limited by the G force vulnerability, is there a way to counter G forces?

Why is Minecraft giving an OpenGL error?

Is it unprofessional to ask if a job posting on GlassDoor is real?

A newer friend of my brother's gave him a load of baseball cards that are supposedly extremely valuable. Is this a scam?

Approximately how much travel time was saved by the opening of the Suez Canal in 1869?

I'm flying to France today and my passport expires in less than 2 months

Arrow those variables!

Alternative to sending password over mail?

What are the disadvantages of having a left skewed distribution?

RSA: Danger of using p to create q

How much of data wrangling is a data scientist's job?

What's that red-plus icon near a text?

Unable to deploy metadata from Partner Developer scratch org because of extra fields

Theorems that impeded progress

Roll the carpet

Codimension of non-flat locus

Can a vampire attack twice with their claws using Multiattack?

How to move a thin line with the black arrow in Illustrator?

Does an object always see its latest internal state irrespective of thread?

What defenses are there against being summoned by the Gate spell?

Is it possible to do 50 km distance without any previous training?

How does one intimidate enemies without having the capacity for violence?

Cross compiling for RPi - error while loading shared libraries

Can a monk's single staff be considered dual wielded, as per the Dual Wielder feat?



Firebase Search-Nested object searching in Firebase Android


Is there a way to run Python on Android?How do save an Android Activity state using save instance state?Close/hide the Android Soft KeyboardWhy is the Android emulator so slow? How can we speed up the Android emulator?Is there a unique Android device ID?What is 'Context' on Android?Proper use cases for Android UserManager.isUserAGoat()?Get children using orderByChild-equalsTo in Firebase-AndroidAdding Social Media Share Logic From Firebase in AndroidHow to get the data saved in a USER_ID?






.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty height:90px;width:728px;box-sizing:border-box;








0















I want to search by string value of the child "title" from all the "category" child:



database snapshot



I've add database rules like this:



database rules snapshot



I tried with this code:



public void getData(String search_key) 
dbref.child("data").orderByChild("title").startAt(search_key).endAt(search_key + "uf8ff").addListenerForSingleValueEvent(new ValueEventListener()
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot)
String title = null;
for (DataSnapshot data:dataSnapshot.getChildren())
for (DataSnapshot dataCategory:data.getChildren())
try
Object object = dataCategory.child(DBConstants.CHILD_TITLE).getValue();
if (object != null) title = object.toString();
catch (NullPointerException e)
//comments

System.out.println(title);




@Override
public void onCancelled(@NonNull DatabaseError databaseError)


);










share|improve this question






























    0















    I want to search by string value of the child "title" from all the "category" child:



    database snapshot



    I've add database rules like this:



    database rules snapshot



    I tried with this code:



    public void getData(String search_key) 
    dbref.child("data").orderByChild("title").startAt(search_key).endAt(search_key + "uf8ff").addListenerForSingleValueEvent(new ValueEventListener()
    @Override
    public void onDataChange(@NonNull DataSnapshot dataSnapshot)
    String title = null;
    for (DataSnapshot data:dataSnapshot.getChildren())
    for (DataSnapshot dataCategory:data.getChildren())
    try
    Object object = dataCategory.child(DBConstants.CHILD_TITLE).getValue();
    if (object != null) title = object.toString();
    catch (NullPointerException e)
    //comments

    System.out.println(title);




    @Override
    public void onCancelled(@NonNull DatabaseError databaseError)


    );










    share|improve this question


























      0












      0








      0








      I want to search by string value of the child "title" from all the "category" child:



      database snapshot



      I've add database rules like this:



      database rules snapshot



      I tried with this code:



      public void getData(String search_key) 
      dbref.child("data").orderByChild("title").startAt(search_key).endAt(search_key + "uf8ff").addListenerForSingleValueEvent(new ValueEventListener()
      @Override
      public void onDataChange(@NonNull DataSnapshot dataSnapshot)
      String title = null;
      for (DataSnapshot data:dataSnapshot.getChildren())
      for (DataSnapshot dataCategory:data.getChildren())
      try
      Object object = dataCategory.child(DBConstants.CHILD_TITLE).getValue();
      if (object != null) title = object.toString();
      catch (NullPointerException e)
      //comments

      System.out.println(title);




      @Override
      public void onCancelled(@NonNull DatabaseError databaseError)


      );










      share|improve this question
















      I want to search by string value of the child "title" from all the "category" child:



      database snapshot



      I've add database rules like this:



      database rules snapshot



      I tried with this code:



      public void getData(String search_key) 
      dbref.child("data").orderByChild("title").startAt(search_key).endAt(search_key + "uf8ff").addListenerForSingleValueEvent(new ValueEventListener()
      @Override
      public void onDataChange(@NonNull DataSnapshot dataSnapshot)
      String title = null;
      for (DataSnapshot data:dataSnapshot.getChildren())
      for (DataSnapshot dataCategory:data.getChildren())
      try
      Object object = dataCategory.child(DBConstants.CHILD_TITLE).getValue();
      if (object != null) title = object.toString();
      catch (NullPointerException e)
      //comments

      System.out.println(title);




      @Override
      public void onCancelled(@NonNull DatabaseError databaseError)


      );







      java android firebase firebase-realtime-database






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Mar 22 at 9:39









      Alex Mamo

      47.1k82965




      47.1k82965










      asked Mar 21 at 22:48









      Nasimul HaqueNasimul Haque

      32




      32






















          1 Answer
          1






          active

          oldest

          votes


















          0














          There is no way you can achieve this using your database structure since between your data node and the objects that contain the title property there is one more child, the Category.



          You can use the following query:



          dbref.child("data").child("Category1")
          .orderByChild("title")
          .startAt(search_key)
          .endAt(search_key + "uf8ff")
          .addListenerForSingleValueEvent(/* ... */);


          And loop only once, not twice as you do in your code right now but you'll be able to get only the titles that exist within the Category1 node. If you want to get all titles you should restructure your database by ading the category as a property of your objects and then simply use:



          dbref.child("data") //No Category1 child
          .orderByChild("title")
          .startAt(search_key)
          .endAt(search_key + "uf8ff")
          .addListenerForSingleValueEvent(/* ... */);


          In this way you'll a have level less and this query will work perfectly fine.






          share|improve this answer

























          • Thank you. I've got the idea.

            – Nasimul Haque
            Mar 22 at 12:12











          • You're welcome, cheers!

            – Alex Mamo
            Mar 22 at 12:13











          Your Answer






          StackExchange.ifUsing("editor", function ()
          StackExchange.using("externalEditor", function ()
          StackExchange.using("snippets", function ()
          StackExchange.snippets.init();
          );
          );
          , "code-snippets");

          StackExchange.ready(function()
          var channelOptions =
          tags: "".split(" "),
          id: "1"
          ;
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function()
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled)
          StackExchange.using("snippets", function()
          createEditor();
          );

          else
          createEditor();

          );

          function createEditor()
          StackExchange.prepareEditor(
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader:
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          ,
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          );



          );













          draft saved

          draft discarded


















          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55290381%2ffirebase-search-nested-object-searching-in-firebase-android%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown

























          1 Answer
          1






          active

          oldest

          votes








          1 Answer
          1






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes









          0














          There is no way you can achieve this using your database structure since between your data node and the objects that contain the title property there is one more child, the Category.



          You can use the following query:



          dbref.child("data").child("Category1")
          .orderByChild("title")
          .startAt(search_key)
          .endAt(search_key + "uf8ff")
          .addListenerForSingleValueEvent(/* ... */);


          And loop only once, not twice as you do in your code right now but you'll be able to get only the titles that exist within the Category1 node. If you want to get all titles you should restructure your database by ading the category as a property of your objects and then simply use:



          dbref.child("data") //No Category1 child
          .orderByChild("title")
          .startAt(search_key)
          .endAt(search_key + "uf8ff")
          .addListenerForSingleValueEvent(/* ... */);


          In this way you'll a have level less and this query will work perfectly fine.






          share|improve this answer

























          • Thank you. I've got the idea.

            – Nasimul Haque
            Mar 22 at 12:12











          • You're welcome, cheers!

            – Alex Mamo
            Mar 22 at 12:13















          0














          There is no way you can achieve this using your database structure since between your data node and the objects that contain the title property there is one more child, the Category.



          You can use the following query:



          dbref.child("data").child("Category1")
          .orderByChild("title")
          .startAt(search_key)
          .endAt(search_key + "uf8ff")
          .addListenerForSingleValueEvent(/* ... */);


          And loop only once, not twice as you do in your code right now but you'll be able to get only the titles that exist within the Category1 node. If you want to get all titles you should restructure your database by ading the category as a property of your objects and then simply use:



          dbref.child("data") //No Category1 child
          .orderByChild("title")
          .startAt(search_key)
          .endAt(search_key + "uf8ff")
          .addListenerForSingleValueEvent(/* ... */);


          In this way you'll a have level less and this query will work perfectly fine.






          share|improve this answer

























          • Thank you. I've got the idea.

            – Nasimul Haque
            Mar 22 at 12:12











          • You're welcome, cheers!

            – Alex Mamo
            Mar 22 at 12:13













          0












          0








          0







          There is no way you can achieve this using your database structure since between your data node and the objects that contain the title property there is one more child, the Category.



          You can use the following query:



          dbref.child("data").child("Category1")
          .orderByChild("title")
          .startAt(search_key)
          .endAt(search_key + "uf8ff")
          .addListenerForSingleValueEvent(/* ... */);


          And loop only once, not twice as you do in your code right now but you'll be able to get only the titles that exist within the Category1 node. If you want to get all titles you should restructure your database by ading the category as a property of your objects and then simply use:



          dbref.child("data") //No Category1 child
          .orderByChild("title")
          .startAt(search_key)
          .endAt(search_key + "uf8ff")
          .addListenerForSingleValueEvent(/* ... */);


          In this way you'll a have level less and this query will work perfectly fine.






          share|improve this answer















          There is no way you can achieve this using your database structure since between your data node and the objects that contain the title property there is one more child, the Category.



          You can use the following query:



          dbref.child("data").child("Category1")
          .orderByChild("title")
          .startAt(search_key)
          .endAt(search_key + "uf8ff")
          .addListenerForSingleValueEvent(/* ... */);


          And loop only once, not twice as you do in your code right now but you'll be able to get only the titles that exist within the Category1 node. If you want to get all titles you should restructure your database by ading the category as a property of your objects and then simply use:



          dbref.child("data") //No Category1 child
          .orderByChild("title")
          .startAt(search_key)
          .endAt(search_key + "uf8ff")
          .addListenerForSingleValueEvent(/* ... */);


          In this way you'll a have level less and this query will work perfectly fine.







          share|improve this answer














          share|improve this answer



          share|improve this answer








          edited Mar 24 at 8:37

























          answered Mar 22 at 9:38









          Alex MamoAlex Mamo

          47.1k82965




          47.1k82965












          • Thank you. I've got the idea.

            – Nasimul Haque
            Mar 22 at 12:12











          • You're welcome, cheers!

            – Alex Mamo
            Mar 22 at 12:13

















          • Thank you. I've got the idea.

            – Nasimul Haque
            Mar 22 at 12:12











          • You're welcome, cheers!

            – Alex Mamo
            Mar 22 at 12:13
















          Thank you. I've got the idea.

          – Nasimul Haque
          Mar 22 at 12:12





          Thank you. I've got the idea.

          – Nasimul Haque
          Mar 22 at 12:12













          You're welcome, cheers!

          – Alex Mamo
          Mar 22 at 12:13





          You're welcome, cheers!

          – Alex Mamo
          Mar 22 at 12:13



















          draft saved

          draft discarded
















































          Thanks for contributing an answer to Stack Overflow!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid


          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.

          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55290381%2ffirebase-search-nested-object-searching-in-firebase-android%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          Kamusi Yaliyomo Aina za kamusi | Muundo wa kamusi | Faida za kamusi | Dhima ya picha katika kamusi | Marejeo | Tazama pia | Viungo vya nje | UrambazajiKuhusu kamusiGo-SwahiliWiki-KamusiKamusi ya Kiswahili na Kiingerezakuihariri na kuongeza habari

          Swift 4 - func physicsWorld not invoked on collision? The Next CEO of Stack OverflowHow to call Objective-C code from Swift#ifdef replacement in the Swift language@selector() in Swift?#pragma mark in Swift?Swift for loop: for index, element in array?dispatch_after - GCD in Swift?Swift Beta performance: sorting arraysSplit a String into an array in Swift?The use of Swift 3 @objc inference in Swift 4 mode is deprecated?How to optimize UITableViewCell, because my UITableView lags

          Access current req object everywhere in Node.js ExpressWhy are global variables considered bad practice? (node.js)Using req & res across functionsHow do I get the path to the current script with Node.js?What is Node.js' Connect, Express and “middleware”?Node.js w/ express error handling in callbackHow to access the GET parameters after “?” in Express?Modify Node.js req object parametersAccess “app” variable inside of ExpressJS/ConnectJS middleware?Node.js Express app - request objectAngular Http Module considered middleware?Session variables in ExpressJSAdd properties to the req object in expressjs with Typescript