List of usage examples for android.database Cursor FIELD_TYPE_NULL
int FIELD_TYPE_NULL
To view the source code for android.database Cursor FIELD_TYPE_NULL.
Click Source Link
From source file:Main.java
private static String dumpRow(Cursor c) { String result = "VALUES("; for (int pos = 0; pos < c.getColumnCount(); pos++) { switch (c.getType(pos)) { case Cursor.FIELD_TYPE_NULL: result += "null"; break; case Cursor.FIELD_TYPE_INTEGER: result += Integer.toString(c.getInt(pos)); break; case Cursor.FIELD_TYPE_FLOAT: result += Float.toString(c.getFloat(pos)); break; case Cursor.FIELD_TYPE_STRING: result += DatabaseUtils.sqlEscapeString(c.getString(pos)); break; case Cursor.FIELD_TYPE_BLOB: result += "X'"; for (byte b : c.getBlob(pos)) { result += String.format("%02X", b); }//from ww w .ja v a 2 s .co m result += "'"; break; default: return "Invalid field type " + c.getType(pos) + " at position " + pos; } if (pos < c.getColumnCount() - 1) { result += ", "; } } return result + ")"; }
From source file:Main.java
public static String logCursor(String prefix, Cursor cr) { StringBuilder sb = new StringBuilder().append(prefix + ": "); for (int i = 0; i < cr.getColumnCount(); i++) { sb.append(cr.getColumnName(i)).append("="); switch (cr.getType(i)) { case Cursor.FIELD_TYPE_NULL: sb.append("NULL"); break; case Cursor.FIELD_TYPE_STRING: sb.append("\"").append(cr.getString(i)).append("\""); break; case Cursor.FIELD_TYPE_INTEGER: sb.append(cr.getInt(i));/*from w w w .j a va2s. c o m*/ break; case Cursor.FIELD_TYPE_FLOAT: sb.append(cr.getFloat(i)); break; case Cursor.FIELD_TYPE_BLOB: sb.append("BIN(").append(cr.getBlob(i).length).append("b)"); break; } sb.append(" "); } return sb.toString(); }
From source file:Main.java
static Object getObject(Cursor cursor, int columnIndex) throws Exception { int type = getType(cursor, columnIndex); Object value;/*w ww. j av a2 s . c o m*/ switch (type) { case Cursor.FIELD_TYPE_BLOB: value = cursor.getBlob(columnIndex); break; case Cursor.FIELD_TYPE_FLOAT: value = cursor.getFloat(columnIndex); break; case Cursor.FIELD_TYPE_INTEGER: value = cursor.getLong(columnIndex); break; case Cursor.FIELD_TYPE_NULL: value = null; break; case Cursor.FIELD_TYPE_STRING: value = cursor.getString(columnIndex); break; default: value = cursor.getString(columnIndex); } return value; }
From source file:Main.java
public static Object cursorValue(String column, Cursor cr) { Object value = false;/*w w w .ja v a 2 s . c o m*/ int index = cr.getColumnIndex(column); switch (cr.getType(index)) { case Cursor.FIELD_TYPE_NULL: value = false; break; case Cursor.FIELD_TYPE_STRING: value = cr.getString(index); break; case Cursor.FIELD_TYPE_INTEGER: value = cr.getInt(index); break; case Cursor.FIELD_TYPE_FLOAT: value = cr.getFloat(index); break; case Cursor.FIELD_TYPE_BLOB: value = cr.getBlob(index); break; } return value; }
From source file:Main.java
/** * Retrieve the data type of the [i] field in the Cursor. * /*w w w .jav a2s. c om*/ * @param c * @param i * @return */ public static final Class<?> getIndexDataType(Cursor c, int i) { switch (c.getType(i)) { case Cursor.FIELD_TYPE_STRING: return String.class; case Cursor.FIELD_TYPE_FLOAT: return Double.class; case Cursor.FIELD_TYPE_INTEGER: return Long.class; case Cursor.FIELD_TYPE_NULL: return String.class; default: case Cursor.FIELD_TYPE_BLOB: throw new IllegalStateException("Unexpected data type in SQLite table"); } }
From source file:Main.java
/** * Returns data type of the given object's value. * <p>/*w w w . j a v a 2s .c om*/ * Returned values are * <ul> * <li>{@link Cursor#FIELD_TYPE_NULL}</li> * <li>{@link Cursor#FIELD_TYPE_INTEGER}</li> * <li>{@link Cursor#FIELD_TYPE_FLOAT}</li> * <li>{@link Cursor#FIELD_TYPE_STRING}</li> * <li>{@link Cursor#FIELD_TYPE_BLOB}</li> * </ul> * </p> * * @param obj the object whose value type is to be returned * @return object value type */ public static int getTypeOfObject(Object obj) { if (obj == null) { return Cursor.FIELD_TYPE_NULL; } else if (obj instanceof byte[]) { return Cursor.FIELD_TYPE_BLOB; } else if (obj instanceof Float || obj instanceof Double) { return Cursor.FIELD_TYPE_FLOAT; } else if (obj instanceof Long || obj instanceof Integer || obj instanceof Short || obj instanceof Byte) { return Cursor.FIELD_TYPE_INTEGER; } else { return Cursor.FIELD_TYPE_STRING; } }
From source file:Main.java
private static int getType(Cursor cursor, int columnIndex) throws Exception { if (Build.VERSION.SDK_INT >= 11) { return cursor.getType(columnIndex); }/* w w w . ja v a 2 s . co m*/ SQLiteCursor sqLiteCursor = (SQLiteCursor) cursor; CursorWindow cursorWindow = sqLiteCursor.getWindow(); int pos = cursor.getPosition(); int type = -1; if (cursorWindow.isNull(pos, columnIndex)) { type = Cursor.FIELD_TYPE_NULL; } else if (cursorWindow.isLong(pos, columnIndex)) { type = Cursor.FIELD_TYPE_INTEGER; } else if (cursorWindow.isFloat(pos, columnIndex)) { type = Cursor.FIELD_TYPE_FLOAT; } else if (cursorWindow.isString(pos, columnIndex)) { type = Cursor.FIELD_TYPE_STRING; } else if (cursorWindow.isBlob(pos, columnIndex)) { type = Cursor.FIELD_TYPE_BLOB; } return type; }
From source file:Main.java
/** * Return the data stored in the cursor at the given index and given position * (ie the given row which the cursor is currently on) as null OR a String. * <p>/*w ww .ja v a 2 s . c om*/ * NB: Currently only checks for Strings, long, int, and double. * * @param c * @param i * @return */ @SuppressLint("NewApi") public static String getIndexAsString(Cursor c, int i) { // If you add additional return types here be sure to modify the javadoc. if (i == -1) return null; if (c.isNull(i)) { return null; } switch (c.getType(i)) { case Cursor.FIELD_TYPE_STRING: return c.getString(i); case Cursor.FIELD_TYPE_FLOAT: { // the static version of this seems to have problems... Double d = c.getDouble(i); String v = d.toString(); return v; } case Cursor.FIELD_TYPE_INTEGER: { // the static version of this seems to have problems... Long l = c.getLong(i); String v = l.toString(); return v; } case Cursor.FIELD_TYPE_NULL: return c.getString(i); default: case Cursor.FIELD_TYPE_BLOB: throw new IllegalStateException("Unexpected data type in SQLite table"); } }
From source file:org.chromium.chrome.browser.util.CompatibilityFileProvider.java
@Override public Cursor query(Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder) { Cursor source = super.query(uri, projection, selection, selectionArgs, sortOrder); String[] columnNames = source.getColumnNames(); String[] newColumnNames = columnNamesWithData(columnNames); if (columnNames == newColumnNames) return source; MatrixCursor cursor = new MatrixCursor(newColumnNames, source.getCount()); source.moveToPosition(-1);/* w w w .j a va 2 s . c om*/ while (source.moveToNext()) { MatrixCursor.RowBuilder row = cursor.newRow(); for (int i = 0; i < columnNames.length; i++) { switch (source.getType(i)) { case Cursor.FIELD_TYPE_INTEGER: row.add(source.getInt(i)); break; case Cursor.FIELD_TYPE_FLOAT: row.add(source.getFloat(i)); break; case Cursor.FIELD_TYPE_STRING: row.add(source.getString(i)); break; case Cursor.FIELD_TYPE_BLOB: row.add(source.getBlob(i)); break; case Cursor.FIELD_TYPE_NULL: default: row.add(null); break; } } } source.close(); return cursor; }
From source file:org.chromium.chrome.browser.util.ChromeFileProvider.java
@Override public Cursor query(Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder) { Uri fileUri = getFileUriWhenReady(uri); if (fileUri == null) return null; // Workaround for a bad assumption that particular MediaStore columns exist by certain third // party applications. // http://crbug.com/467423. Cursor source = super.query(fileUri, projection, selection, selectionArgs, sortOrder); String[] columnNames = source.getColumnNames(); String[] newColumnNames = columnNamesWithData(columnNames); if (columnNames == newColumnNames) return source; MatrixCursor cursor = new MatrixCursor(newColumnNames, source.getCount()); source.moveToPosition(-1);/*w w w . j a v a2s . com*/ while (source.moveToNext()) { MatrixCursor.RowBuilder row = cursor.newRow(); for (int i = 0; i < columnNames.length; i++) { switch (source.getType(i)) { case Cursor.FIELD_TYPE_INTEGER: row.add(source.getInt(i)); break; case Cursor.FIELD_TYPE_FLOAT: row.add(source.getFloat(i)); break; case Cursor.FIELD_TYPE_STRING: row.add(source.getString(i)); break; case Cursor.FIELD_TYPE_BLOB: row.add(source.getBlob(i)); break; case Cursor.FIELD_TYPE_NULL: default: row.add(null); break; } } } source.close(); return cursor; }