无法在解析中解析布尔值

时间:2015-06-13 07:48:46

标签: android parse-platform

我在使用boolean后尝试解析parseObject值,但我无法解析它?

这是我的代码:

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);
                        }
                    }
                }
            }
        }
    }
});

2 个答案:

答案 0 :(得分:1)

您应该调用ParseObject的默认方法来检索数据而不是解析:

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);
                    }
                }
            }
        }
    }
}

});

答案 1 :(得分:0)

你可以简单地使用For循环来获取Parse对象的单个对象,并且可以使用getBoolean()方法来获取布尔值。

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");
           }
      }
  }