Gal Machluf
Gal Machluf

Reputation: 39

Could not parse boolean values in parse

I am trying to parse a boolean value after using it with parseObject, but I cannot parse it?

Here is my code:

ParseQuery<ParseObject> query = ParseQuery.getQuery("SmsTable");
query.whereEqualTo("deviceId", android_id);
query.findInBackground(new FindCallback<ParseObject>() {
    @Override
    public void done(List<ParseObject> objects, com.parse.ParseException e) {
        if (e == null) {
            for (ParseObject smsObject : objects) {
                if (smsObject!=null) {
                    Date time = (Date) smsObject.get("date");

                    myMsg = (String) smsObject.get("message");
                    usrNum = (String) smsObject.get("phoneNumber");
                    happend = (boolean) smsObject.get("happend");
                    result = time;
                }
                if (result != null) {
                    if (System.currentTimeMillis() >= result.getTime() && happend == false) {
                        // count++;
                        if (usrNum != null && myMsg != null) {
                            Log.d("message", myMsg);
                            Log.d("time", String.valueOf(result));

                            sendMsg2(myMsg, usrNum);
                            smsObject.put("happend", true);
                        }
                    }
                }
            }
        }
    }
});

Upvotes: 0

Views: 1204

Answers (2)

Ved
Ved

Reputation: 1077

You should call default methods of ParseObject to retrieve data instead of parsing :

ParseQuery<ParseObject> query = ParseQuery.getQuery("SmsTable");
query.whereEqualTo("deviceId", android_id);
query.findInBackground(new FindCallback<ParseObject>() {
@Override
public void done(List<ParseObject> objects, com.parse.ParseException e) {
    if (e == null) {
        for (ParseObject smsObject : objects) {
            if (smsObject!=null) {
                Date time = smsObject.getDate("date");

                myMsg =  smsObject.getString("message");
                usrNum =  smsObject.getString("phoneNumber");
                happend =  smsObject.getBoolean("happend");
                result = time;
            }
            if (result != null) {
                if (System.currentTimeMillis() >= result.getTime() && happend == false) {
                    // count++;
                    if (usrNum != null && myMsg != null) {
                        Log.d("message", myMsg);
                        Log.d("time", String.valueOf(result));

                        sendMsg2(myMsg, usrNum);
                        smsObject.put("happend", true);
                    }
                }
            }
        }
    }
}

});

Upvotes: 1

Sam
Sam

Reputation: 462

You can simply use For loop for getting single object of Parse object and can use getBoolean() method for getting boolean value.

public void done(List<ParseObject> objects, com.parse.ParseException e) {
      if (e == null) {
         for (int i = 0; i < objects.size(); i++) {
              happend = objects.get(i).getBoolean("happend");
           }
      }
  }

Upvotes: 0

Related Questions