Firebase query methods do not work

帅比萌擦擦* 提交于 2020-01-11 12:52:09

问题


Here is my data tree:

"look-twopointo": {
    "0" {
        "comment": "Hi"
        "Text1": "Hello"
        "Text2": "Bonsoir"
        "type": "Bonjour"
        "version": "4.0.6"
    }
}

For some reason querying doesn't work.

button.setOnClickListener(new View.OnClickListener() {
    public void onClick(View v) {
        mDatabase = FirebaseDatabase.getInstance().getReference().child("0");// pay attention to the this path reference
        // Read from the database
        Query query = mDatabase.child("version")/*.orderByChild("Text1")*/.equalTo("4.0.6")/*.startAt("d")/*.endAt("Dude")*/;
        query.addValueEventListener(new ValueEventListener() {
            @Override
            public void onDataChange(DataSnapshot dataSnapshot) {
                // This method is called once with the initial value and again
                // whenever data at this location is updated.
                //String value = dataSnapshot.getValue(String.class); //these three lines below are probably the problem
                String value = (String) dataSnapshot.getValue();
                System.out.println(value);
                Text.setText(value);
            }

Here is what the system spits out:

D/ViewRootImpl: ViewPostImeInputStage processPointer 0
D/ViewRootImpl: ViewPostImeInputStage processPointer 1
I/DynamiteModule: Considering local module 
com.google.android.gms.firebase_database:4 and remote module 
com.google.android.gms.firebase_database:6
              Selected remote version of 
com.google.android.gms.firebase_database, version >= 6
D/ResourcesManager: For user 0 new overlays fetched Null
W/System: ClassLoader referenced unknown path: 
/data/data/com.google.android.gms/app_chimera/m/0000005e/n/armeabi-v7a
      ClassLoader referenced unknown path: 
/data/data/com.google.android.gms/app_chimera/m/0000005e/n/armeabi
D/ResourcesManager: For user 0 new overlays fetched Null
I/System.out: null

I don't know if it's because I'm using my phone and haven't downloaded and tried it on an emulator. Is there something I have to setup so that I can query on my phone?

This is the error that is probably causing this

05-28 17:12:42.743 2449-3078/? E/NetlinkEvent: NetlinkEvent::FindParam(): Parameter 'LABEL' not found
NetlinkEvent::FindParam(): Parameter 'UID' not found

or it my be this

W/System: ClassLoader referenced unknown path: 
/data/data/com.google.android.gms/app_chimera/m/0000005e/n/armeabi-v7a
          ClassLoader referenced unknown path: 
/data/data/com.google.android.gms/app_chimera/m/0000005e/n/armeabi

I want it to output 4.0.6.

Update: I actually couldn't find an error. It outputs null for NO REASON


回答1:


To solve this, you need to change your query to:

DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
Query query = rootRef.orderByChild("version").equalTo("4.0.6");

And will return all the records that have the version property equal with 4.0.6.



来源:https://stackoverflow.com/questions/50549123/firebase-query-methods-do-not-work

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!