nothingness
nothingness

Reputation: 694

check if a key exist firebase Android

I want to check if a key exist in the firebase db. so for example, I want to look for the key "upvotes" to see if it exist or not.

Here is an exmaple, "upvotes" key does not exist in here: enter image description here

Now I my attempt to check if the key "upvotes" is at this location:

        Map<String, Object> newPost = (Map<String, Object>) ids.next().getValue();
            if(newPost.get("upvotes").toString().equals("upvotes")){
                disp_rate = newPost.get("upvotes").toString();
            }
            else
            {
                disp_rate = "0";
            }

My attempt is wrong, so how do I check if the key "upvotes" exist at this location.

Upvotes: 5

Views: 13459

Answers (2)

Saurabh Padwekar
Saurabh Padwekar

Reputation: 4074

If you want to check if key exist or not, try this.

firebaseRef.orderByKey().equalTo(key).addValueEventListener(new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {

              if(dataSnapshot.exists()) {
                   //Key exists
                   Log.d(TAG,""+key);
              } else {
                  //Key does not exist
              }

    }

    @Override
    public void onCancelled(FirebaseError firebaseError) {

    }
});

Upvotes: 7

nothingness
nothingness

Reputation: 694

Just needed to use this boolean function containsKey

so...

boolean check_rate = newPost.containsKey("upvotes");

if(check_rate == true){
                String disp_rate = newPost.get("upvotes").toString();
                rate_count.setText(disp_rate);
            }
            else{
                System.out.println("FAILED");
            }

This will fix the transaction if anyone is having the same issue with upvotes.

Upvotes: 3

Related Questions