下面列出了怎么用android.database.sqlite.SQLiteCursorDriver的API类实例代码及写法,或者点击链接到github查看源代码。
/**
* {@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;
}
/**
* 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;
}
};
}
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);
}
@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();
}
}
@Override
public Cursor newCursor(SQLiteDatabase sqLiteDatabase, SQLiteCursorDriver sqLiteCursorDriver, String tableName, SQLiteQuery sqLiteQuery) {
if (isDebugEnabled) {
QuantumFluxLog.d(sqLiteQuery.toString());
}
return new SQLiteCursor(sqLiteCursorDriver, tableName, sqLiteQuery);
}
@Override
public Cursor newCursor(SQLiteDatabase sqLiteDatabase, SQLiteCursorDriver sqLiteCursorDriver, String tableName, SQLiteQuery sqLiteQuery) {
if (debugEnabled) {
CPOrmLog.d(sqLiteQuery.toString());
}
return new SQLiteCursor(sqLiteCursorDriver, tableName, sqLiteQuery);
}
@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);
}
@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);
}
@Override
public Cursor newCursor(SQLiteDatabase db, SQLiteCursorDriver masterQuery, String editTable, SQLiteQuery query) {
if (debugQueries) {
DUtils.log(query.toString());
}
return new SQLiteCursor(masterQuery, editTable, query);
}
static SQLiteCursorDriver newDriver(SQLiteDatabase db, String sql) {
return DRIVER_IMPL.newInstance(db, sql);
}
@Override
public Cursor newCursor(SQLiteDatabase db, SQLiteCursorDriver masterQuery, String editTable, SQLiteQuery query) {
bindArgumentsToProgram(query, sqlArgs);
return new SQLiteCursor(masterQuery, editTable, query);
}
public DecryptingCursor(SQLiteDatabase db, SQLiteCursorDriver driver, String editTable, SQLiteQuery query, EncryptedModel model, CipherPool pool) {
super(db, driver, editTable, query);
this.model = model;
this.pool = pool;
this.cipher = pool.borrow();
}
@SuppressWarnings("deprecation")
@Override
public Cursor newCursor(SQLiteDatabase db, SQLiteCursorDriver masterQuery, String editTable, SQLiteQuery query) {
return new SQLiteCursor(db, masterQuery, editTable, query);
}
SQLiteCursorDriver newInstance(SQLiteDatabase db, String sql);