package net.osmand.plus.api; public interface SQLiteAPI { public interface SQLiteConnection { void close(); SQLiteCursor rawQuery(String sql, String[] selectionArgs); void execSQL(String query); void execSQL(String query, Object[] objects); SQLiteStatement compileStatement(String string); void setVersion(int newVersion); int getVersion(); boolean isReadOnly(); boolean isDbLockedByOtherThreads(); boolean isClosed(); } public interface SQLiteCursor { String[] getColumnNames(); boolean moveToFirst(); boolean moveToNext(); /** * Takes parameter value (zero based) */ String getString(int ind); double getDouble(int ind); long getLong(int ind); long getInt(int ind); byte[] getBlob(int ind); void close(); } public interface SQLiteStatement { // 1 based argument void bindString(int i, String filterId); // 1 based argument void bindNull(int i); void execute(); void close(); long simpleQueryForLong(); String simpleQueryForString(); void bindLong(int i, long val); void bindBlob(int i, byte[] val); } public SQLiteConnection getOrCreateDatabase(String name, boolean readOnly); public SQLiteConnection openByAbsolutePath(String path, boolean readOnly); }