android.database.sqlite.SQLiteCursor Java Examples
The following examples show how to use
android.database.sqlite.SQLiteCursor.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: SQLiteAndroidDatabase.java From AvI with MIT License | 6 votes |
private void bindPreHoneycomb(JSONObject row, String key, Cursor cursor, int i) throws JSONException { // Since cursor.getType() is not available pre-honeycomb, this is // a workaround so we don't have to bind everything as a string // Details here: http://stackoverflow.com/q/11658239 SQLiteCursor sqLiteCursor = (SQLiteCursor) cursor; CursorWindow cursorWindow = sqLiteCursor.getWindow(); int pos = cursor.getPosition(); if (cursorWindow.isNull(pos, i)) { row.put(key, JSONObject.NULL); } else if (cursorWindow.isLong(pos, i)) { row.put(key, cursor.getLong(i)); } else if (cursorWindow.isFloat(pos, i)) { row.put(key, cursor.getDouble(i)); /* ** Read BLOB as Base-64 DISABLED in this branch: } else if (cursorWindow.isBlob(pos, i)) { row.put(key, new String(Base64.encode(cursor.getBlob(i), Base64.DEFAULT))); // ** Read BLOB as Base-64 DISABLED to HERE. */ } else { // string row.put(key, cursor.getString(i)); } }
Example #2
Source File: Whassup.java From whassup with Apache License 2.0 | 6 votes |
public SQLiteDatabase openDatabase(final File dbFile) { return SQLiteDatabase.openDatabase(dbFile.getAbsolutePath(), new SQLiteDatabase.CursorFactory() { @Override @SuppressWarnings("deprecation") public Cursor newCursor(final SQLiteDatabase db, SQLiteCursorDriver driver, String editTable, SQLiteQuery query) { return new SQLiteCursor(db, driver, editTable, query) { @Override public void close() { Log.d(TAG, "closing cursor"); super.close(); db.close(); if (!dbFile.delete()) { Log.w(TAG, "could not delete database " + dbFile); } } }; } }, SQLiteDatabase.OPEN_READWRITE); }
Example #3
Source File: DatabaseHelper.java From android_dbinspector with Apache License 2.0 | 6 votes |
/** * Compat method so we can get type of column on API < 11. * Source: http://stackoverflow.com/a/20685546/2643666 */ @TargetApi(Build.VERSION_CODES.HONEYCOMB) public static int getColumnType(Cursor cursor, int col) { if (Build.VERSION.SDK_INT < Build.VERSION_CODES.HONEYCOMB) { SQLiteCursor sqLiteCursor = (SQLiteCursor) cursor; CursorWindow cursorWindow = sqLiteCursor.getWindow(); int pos = cursor.getPosition(); int type = -1; if (cursorWindow.isNull(pos, col)) { type = FIELD_TYPE_NULL; } else if (cursorWindow.isLong(pos, col)) { type = FIELD_TYPE_INTEGER; } else if (cursorWindow.isFloat(pos, col)) { type = FIELD_TYPE_FLOAT; } else if (cursorWindow.isString(pos, col)) { type = FIELD_TYPE_STRING; } else if (cursorWindow.isBlob(pos, col)) { type = FIELD_TYPE_BLOB; } return type; } else { return cursor.getType(col); } }
Example #4
Source File: SQLitePersistence.java From firebase-android-sdk with Apache License 2.0 | 6 votes |
/** * Uses the given binding arguments as positional parameters for the query. * * <p>Note that unlike {@link SQLiteDatabase#rawQuery}, this method takes Object binding * objects. Values in the <tt>args</tt> array need to be of a type that's usable in any of the * SQLiteProgram bindFoo methods. * * @return this Query object, for chaining. */ Query binding(Object... args) { // This is gross, but the best way to preserve both the readability of the caller (since // values don't have be arbitrarily converted to Strings) and allows BLOBs to be used as // bind arguments. // // The trick here is that since db.query and db.rawQuery take String[] bind arguments, we // need some other way to bind. db.execSQL takes Object[] bind arguments but doesn't actually // allow querying because it doesn't return a Cursor. SQLiteQuery does allow typed bind // arguments, but isn't directly usable. // // However, you can get to the SQLiteQuery indirectly by supplying a CursorFactory to // db.rawQueryWithFactory. The factory's newCursor method will be called with a new // SQLiteQuery, and now we can bind with typed values. cursorFactory = (db1, masterQuery, editTable, query) -> { bind(query, args); return new SQLiteCursor(masterQuery, editTable, query); }; return this; }
Example #5
Source File: GeoPackageCursorFactory.java From geopackage-android with MIT License | 6 votes |
/** * Get the SQLite Android Bindings cursor factory * * @return bindings cursor factory * @since 3.4.0 */ public org.sqlite.database.sqlite.SQLiteDatabase.CursorFactory getBindingsCursorFactory() { return new org.sqlite.database.sqlite.SQLiteDatabase.CursorFactory() { /** * {@inheritDoc} */ @Override public Cursor newCursor(org.sqlite.database.sqlite.SQLiteDatabase db, org.sqlite.database.sqlite.SQLiteCursorDriver driver, String editTable, org.sqlite.database.sqlite.SQLiteQuery query) { if (debugLogQueries) { Log.d(GeoPackageCursorFactory.class.getSimpleName(), query.toString()); } // Create a standard cursor Cursor cursor = new org.sqlite.database.sqlite.SQLiteCursor(driver, editTable, query); // Wrap the cursor Cursor wrappedCursor = wrapCursor(cursor, editTable); return wrappedCursor; } }; }
Example #6
Source File: GeoPackageCursorFactory.java From geopackage-android with MIT License | 6 votes |
/** * {@inheritDoc} */ @Override public Cursor newCursor(SQLiteDatabase db, SQLiteCursorDriver driver, String editTable, SQLiteQuery query) { if (debugLogQueries) { Log.d(GeoPackageCursorFactory.class.getSimpleName(), query.toString()); } // Create a standard cursor Cursor cursor = new SQLiteCursor(driver, editTable, query); // Wrap the cursor Cursor wrappedCursor = wrapCursor(cursor, editTable); return wrappedCursor; }
Example #7
Source File: QuantumFluxCursorFactory.java From QuantumFlux with Apache License 2.0 | 5 votes |
@Override public Cursor newCursor(SQLiteDatabase sqLiteDatabase, SQLiteCursorDriver sqLiteCursorDriver, String tableName, SQLiteQuery sqLiteQuery) { if (isDebugEnabled) { QuantumFluxLog.d(sqLiteQuery.toString()); } return new SQLiteCursor(sqLiteCursorDriver, tableName, sqLiteQuery); }
Example #8
Source File: CursorUtils.java From Pix-Art-Messenger with GNU General Public License v3.0 | 5 votes |
public static void upgradeCursorWindowSize(final Cursor cursor) { if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.P) { if (cursor instanceof AbstractWindowedCursor) { final AbstractWindowedCursor windowedCursor = (AbstractWindowedCursor) cursor; windowedCursor.setWindow(new CursorWindow("4M", 4 * 1024 * 1024)); } if (cursor instanceof SQLiteCursor) { ((SQLiteCursor) cursor).setFillWindowForwardOnly(true); } } }
Example #9
Source File: CPOrmCursorFactory.java From CPOrm with MIT License | 5 votes |
@Override public Cursor newCursor(SQLiteDatabase sqLiteDatabase, SQLiteCursorDriver sqLiteCursorDriver, String tableName, SQLiteQuery sqLiteQuery) { if (debugEnabled) { CPOrmLog.d(sqLiteQuery.toString()); } return new SQLiteCursor(sqLiteCursorDriver, tableName, sqLiteQuery); }
Example #10
Source File: SugarCursorFactory.java From ApkTrack with GNU General Public License v3.0 | 5 votes |
@SuppressWarnings("deprecation") public Cursor newCursor(SQLiteDatabase sqLiteDatabase, SQLiteCursorDriver sqLiteCursorDriver, String editTable, SQLiteQuery sqLiteQuery) { if (debugEnabled) { Log.d("SQL Log", sqLiteQuery.toString()); } return new SQLiteCursor(sqLiteDatabase, sqLiteCursorDriver, editTable, sqLiteQuery); }
Example #11
Source File: CursorFactoryDebugger.java From UTubeTV with The Unlicense | 5 votes |
@Override public Cursor newCursor(SQLiteDatabase db, SQLiteCursorDriver masterQuery, String editTable, SQLiteQuery query) { if (debugQueries) { DUtils.log(query.toString()); } return new SQLiteCursor(masterQuery, editTable, query); }
Example #12
Source File: BuildingDatabase.java From utexas-utilities with Apache License 2.0 | 5 votes |
public Cursor query(String tablename, String[] columns, String selection, String[] selectionArgs, String groupBy, String having, String orderBy) { if (selection != null) { SQLiteCursor c = (SQLiteCursor) getReadableDatabase().query( tablename, columns, KEY_SUGGEST_COLUMN_TEXT_1 + " LIKE '%" + selection + "%' OR " + KEY_SUGGEST_COLUMN_TEXT_2 + " LIKE '%" + selection + "%'", selectionArgs, groupBy, having, orderBy); c.moveToFirst(); return c; } else { return getReadableDatabase().query(tablename, columns, selection, selectionArgs, groupBy, having, orderBy); } }
Example #13
Source File: AndroidQuery.java From alchemy with Apache License 2.0 | 5 votes |
@Override public SQLiteIterator select() { mDb.acquireReference(); try { final SQLiteCursorDriver driver = SQLiteCompat.newDriver(mDb, mSql); return new CursorIterator(new SQLiteCursor(driver, null, mQuery)); } finally { mDb.releaseReference(); } }
Example #14
Source File: DBType.java From BobEngine with GNU Lesser General Public License v2.1 | 5 votes |
public static int getType(Cursor cursor, int i) { SQLiteCursor sqLiteCursor = (SQLiteCursor) cursor; CursorWindow cursorWindow = sqLiteCursor.getWindow(); int pos = cursor.getPosition(); int type = -1; if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) { // Honeycomb or later. type = cursor.getType(i); if (type == Cursor.FIELD_TYPE_BLOB) { type = FIELD_TYPE_BLOB; } else if (type == Cursor.FIELD_TYPE_FLOAT) { type = FIELD_TYPE_FLOAT; } else if (type == Cursor.FIELD_TYPE_INTEGER) { type = FIELD_TYPE_INTEGER; } else if (type == Cursor.FIELD_TYPE_NULL) { type = FIELD_TYPE_NULL; } else if (type == Cursor.FIELD_TYPE_STRING) { type = FIELD_TYPE_STRING; } } else { // Before Honeycomb if (cursorWindow.isNull(pos, i)) { type = FIELD_TYPE_NULL; } else if (cursorWindow.isLong(pos, i)) { type = FIELD_TYPE_INTEGER; } else if (cursorWindow.isFloat(pos, i)) { type = FIELD_TYPE_FLOAT; } else if (cursorWindow.isString(pos, i)) { type = FIELD_TYPE_STRING; } else if (cursorWindow.isBlob(pos, i)) { type = FIELD_TYPE_BLOB; } } return type; }
Example #15
Source File: DatabaseHelper.java From NexusData with Apache License 2.0 | 5 votes |
@SuppressWarnings("deprecation") @Override public Cursor newCursor(SQLiteDatabase db, SQLiteCursorDriver masterQuery, String editTable, SQLiteQuery query) { LOG.debug(query.toString()); // non-deprecated API is only available in API 11 return new SQLiteCursor(db, masterQuery, editTable, query); }
Example #16
Source File: CursorUtils.java From Conversations with GNU General Public License v3.0 | 5 votes |
public static void upgradeCursorWindowSize(final Cursor cursor) { if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.P) { if (cursor instanceof AbstractWindowedCursor) { final AbstractWindowedCursor windowedCursor = (AbstractWindowedCursor) cursor; windowedCursor.setWindow(new CursorWindow("4M", 4 * 1024 * 1024)); } if (cursor instanceof SQLiteCursor) { ((SQLiteCursor) cursor).setFillWindowForwardOnly(true); } } }
Example #17
Source File: SQLiteMaster.java From android-schema-utils with Apache License 2.0 | 4 votes |
@SuppressWarnings("deprecation") @Override public Cursor newCursor(SQLiteDatabase db, SQLiteCursorDriver masterQuery, String editTable, SQLiteQuery query) { return new SQLiteCursor(db, masterQuery, editTable, query); }
Example #18
Source File: DefaultCursorAdapter.java From AsymmetricGridView with MIT License | 4 votes |
CursorAdapterItem(SQLiteCursor cursor) { super(cursor.getInt(3), cursor.getInt(2), cursor.getInt(1)); }
Example #19
Source File: DefaultCursorAdapter.java From AsymmetricGridView with MIT License | 4 votes |
@Override public Object getItem(int position) { return new CursorAdapterItem((SQLiteCursor) super.getItem(position)); }
Example #20
Source File: SquidCursorFactory.java From squidb with Apache License 2.0 | 4 votes |
@Override public Cursor newCursor(SQLiteDatabase db, SQLiteCursorDriver masterQuery, String editTable, SQLiteQuery query) { bindArgumentsToProgram(query, sqlArgs); return new SQLiteCursor(masterQuery, editTable, query); }