Parse.com Almonds 库中存在一个问题。存储日期或其他类似的复杂对象结构存在问题。
我遇到了同样的问题并修复了 Almonds 库代码来解决问题。现在我可以像保存任何其他数据类型一样保存日期。
用以下代码替换 ParseObject.java(在 Almonds 库中)中的 toJSONObject() 方法:
// Define the following class level static variables
private static final String DATE_CLASS = "java.util.Date";
private static final String DATA_TYPE = "__type";
private static final String DATA_ISO = "iso";
private JSONObject toJSONObject() {
JSONObject jo = new JSONObject();
// TODO - Girish Sharma: Extend this code to save other complex data types
DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");
Object obj = null;
try {
for (String key : mData.keySet()) {
obj = get(key);
String className = obj.getClass().getName();
// Switch over the data types
if (className == DATE_CLASS) {
JSONObject dateObj = new JSONObject();
dateObj.put(DATA_TYPE, "Date");
dateObj.put(DATA_ISO, formatter.format(obj));
jo.put(key, dateObj);
}
else {
jo.put(key, obj);
}
}
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return jo;
}