/* (non-Javadoc) * @see com.futureplatforms.android.jscore.fragmentation.CursorCoercer#coerceToJSONObject(java.lang.String[], android.database.AbstractWindowedCursor) */ @Override public JSONObject coerceToJSONObject(String[] cols, AbstractWindowedCursor c) { JSONObject obj = new JSONObject(); for (int i = 0; i < cols.length; i++) { String name = cols[i]; // do we have to worry about types? // if we do, then we need the CursorWindow. // TODO we can make this faster for SDK > 5. // TODO have a separate class depending on SDK. try { if (c.isString(i)) { obj.putOpt(name, c.getString(i)); } else if (c.isLong(i)) { obj.put(name, c.getLong(i)); } else if (c.isFloat(i)) { obj.put(name, c.getDouble(i)); } else if (c.isNull(i)) { obj.remove(name); } } catch (JSONException e) { Log.e(C.TAG, e.getLocalizedMessage(), e); } } return obj; }