All Downloads are FREE. Search and download functionalities are using the official Maven repository.

net.sqlcipher.database.SQLiteDatabase Maven / Gradle / Ivy

package net.sqlcipher.database;
/*
 * Copyright (C) 2006 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

import java.io.File;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.WeakHashMap;

import android.content.ContentValues;
import android.content.Context;
import android.os.CancellationSignal;
import android.util.Pair;
import androidx.sqlite.db.SupportSQLiteDatabase;
import androidx.sqlite.db.SupportSQLiteQuery;
import net.sqlcipher.Cursor;
import net.sqlcipher.DatabaseErrorHandler;
import net.sqlcipher.SQLException;

public class SQLiteDatabase extends SQLiteClosable implements SupportSQLiteDatabase {
	private static final String TAG = "Database";
	private static final int EVENT_DB_OPERATION = 52000;
	private static final int EVENT_DB_CORRUPT = 75004;
	private static final String KEY_ENCODING = "UTF-8";

	public static final String SQLCIPHER_ANDROID_VERSION = "dummy";

	// Stores reference to all databases opened in the current process.
	// (The referent Object is not used at this time.)
	// INVARIANT: Guarded by sActiveDatabases.
	private static WeakHashMap sActiveDatabases = new WeakHashMap();

	public int status(int operation, boolean reset) {
		throw (new RuntimeException("Not implements"));
	}

	/**
	 * Change the password of the open database using sqlite3_rekey().
	 *
	 * @param password
	 *            new database password
	 *
	 * @throws SQLiteException
	 *             if there is an issue changing the password internally OR if
	 *             the database is not open
	 *
	 *             FUTURE @todo throw IllegalStateException if the database is
	 *             not open and update the test suite
	 */
	public void changePassword(String password) throws SQLiteException {
		throw (new RuntimeException("Not implements"));
	}

	/**
	 * Change the password of the open database using sqlite3_rekey().
	 *
	 * @param password
	 *            new database password (char array)
	 *
	 * @throws SQLiteException
	 *             if there is an issue changing the password internally OR if
	 *             the database is not open
	 *
	 *             FUTURE @todo throw IllegalStateException if the database is
	 *             not open and update the test suite
	 */
	public void changePassword(char[] password) throws SQLiteException {
		throw (new RuntimeException("Not implements"));
	}

	/**
	 * Implement this interface to provide custom strategy for loading jni
	 * libraries.
	 */
	public interface LibraryLoader {
		/**
		 * Load jni libraries by given names. Straightforward implementation
		 * will be calling {@link System#loadLibrary(String name)} for every
		 * provided library name.
		 *
		 * @param libNames
		 *            library names that sqlcipher need to load
		 */
		void loadLibraries(String... libNames);
	}

	/**
	 * Loads the native SQLCipher library into the application process.
	 */
	public static synchronized void loadLibs(Context context) {
		throw (new RuntimeException("Not implements"));
	}

	/**
	 * Loads the native SQLCipher library into the application process.
	 */
	public static synchronized void loadLibs(Context context, File workingDir) {
		throw (new RuntimeException("Not implements"));
	}

	/**
	 * Loads the native SQLCipher library into the application process.
	 */
	public static synchronized void loadLibs(Context context, LibraryLoader libraryLoader) {
		throw (new RuntimeException("Not implements"));
	}

	/**
	 * Loads the native SQLCipher library into the application process.
	 */
	public static synchronized void loadLibs(Context context, File workingDir, LibraryLoader libraryLoader) {
		throw (new RuntimeException("Not implements"));
	}

	/**
	 * Algorithms used in ON CONFLICT clause
	 * http://www.sqlite.org/lang_conflict.html
	 */
	/**
	 * When a constraint violation occurs, an immediate ROLLBACK occurs, thus
	 * ending the current transaction, and the command aborts with a return code
	 * of SQLITE_CONSTRAINT. If no transaction is active (other than the implied
	 * transaction that is created on every command) then this algorithm works
	 * the same as ABORT.
	 */
	public static final int CONFLICT_ROLLBACK = 1;

	/**
	 * When a constraint violation occurs,no ROLLBACK is executed so changes
	 * from prior commands within the same transaction are preserved. This is
	 * the default behavior.
	 */
	public static final int CONFLICT_ABORT = 2;

	/**
	 * When a constraint violation occurs, the command aborts with a return code
	 * SQLITE_CONSTRAINT. But any changes to the database that the command made
	 * prior to encountering the constraint violation are preserved and are not
	 * backed out.
	 */
	public static final int CONFLICT_FAIL = 3;

	/**
	 * When a constraint violation occurs, the one row that contains the
	 * constraint violation is not inserted or changed. But the command
	 * continues executing normally. Other rows before and after the row that
	 * contained the constraint violation continue to be inserted or updated
	 * normally. No error is returned.
	 */
	public static final int CONFLICT_IGNORE = 4;

	/**
	 * When a UNIQUE constraint violation occurs, the pre-existing rows that are
	 * causing the constraint violation are removed prior to inserting or
	 * updating the current row. Thus the insert or update always occurs. The
	 * command continues executing normally. No error is returned. If a NOT NULL
	 * constraint violation occurs, the NULL value is replaced by the default
	 * value for that column. If the column has no default value, then the ABORT
	 * algorithm is used. If a CHECK constraint violation occurs then the IGNORE
	 * algorithm is used. When this conflict resolution strategy deletes rows in
	 * order to satisfy a constraint, it does not invoke delete triggers on
	 * those rows. This behavior might change in a future release.
	 */
	public static final int CONFLICT_REPLACE = 5;

	/**
	 * use the following when no conflict action is specified.
	 */
	public static final int CONFLICT_NONE = 0;
	private static final String[] CONFLICT_VALUES = new String[] { "", " OR ROLLBACK ", " OR ABORT ", " OR FAIL ",
			" OR IGNORE ", " OR REPLACE " };

	/**
	 * Maximum Length Of A LIKE Or GLOB Pattern The pattern matching algorithm
	 * used in the default LIKE and GLOB implementation of SQLite can exhibit
	 * O(N^2) performance (where N is the number of characters in the pattern)
	 * for certain pathological cases. To avoid denial-of-service attacks the
	 * length of the LIKE or GLOB pattern is limited to
	 * SQLITE_MAX_LIKE_PATTERN_LENGTH bytes. The default value of this limit is
	 * 50000. A modern workstation can evaluate even a pathological LIKE or GLOB
	 * pattern of 50000 bytes relatively quickly. The denial of service problem
	 * only comes into play when the pattern length gets into millions of bytes.
	 * Nevertheless, since most useful LIKE or GLOB patterns are at most a few
	 * dozen bytes in length, paranoid application developers may want to reduce
	 * this parameter to something in the range of a few hundred if they know
	 * that external users are able to generate arbitrary patterns.
	 */
	public static final int SQLITE_MAX_LIKE_PATTERN_LENGTH = 50000;

	/**
	 * Flag for {@link #openDatabase} to open the database for reading and
	 * writing. If the disk is full, this may fail even before you actually
	 * write anything.
	 *
	 * {@more} Note that the value of this flag is 0, so it is the default.
	 */
	public static final int OPEN_READWRITE = 0x00000000; // update native code
															// if changing

	/**
	 * Flag for {@link #openDatabase} to open the database for reading only.
	 * This is the only reliable way to open a database if the disk may be full.
	 */
	public static final int OPEN_READONLY = 0x00000001; // update native code if
														// changing

	private static final int OPEN_READ_MASK = 0x00000001; // update native code
															// if changing

	/**
	 * Flag for {@link #openDatabase} to open the database without support for
	 * localized collators.
	 *
	 * {@more} This causes the collator LOCALIZED not to be
	 * created. You must be consistent when using this flag to use the setting
	 * the database was created with. If this is set, {@link #setLocale} will do
	 * nothing.
	 */
	public static final int NO_LOCALIZED_COLLATORS = 0x00000010; // update
																	// native
																	// code if
																	// changing

	/**
	 * Flag for {@link #openDatabase} to create the database file if it does not
	 * already exist.
	 */
	public static final int CREATE_IF_NECESSARY = 0x10000000; // update native
																// code if
																// changing

	/**
	 * SQLite memory database name
	 */
	public static final String MEMORY = ":memory:";

	public static final int MAX_SQL_CACHE_SIZE = 250;

	/**
	 * Attempts to release memory that SQLite holds but does not require to
	 * operate properly. Typically this memory will come from the page cache.
	 *
	 * @return the number of bytes actually released
	 */
	static public native int releaseMemory();

	/**
	 * Control whether or not the SQLiteDatabase is made thread-safe by using
	 * locks around critical sections. This is pretty expensive, so if you know
	 * that your DB will only be used by a single thread then you should set
	 * this to false. The default is true.
	 * 
	 * @param lockingEnabled
	 *            set to true to enable locks, false otherwise
	 */
	public void setLockingEnabled(boolean lockingEnabled) {
		throw (new RuntimeException("Not implements"));
	}

	/**
	 * If set then the SQLiteDatabase is made thread-safe by using locks around
	 * critical sections
	 */
	private boolean mLockingEnabled = true;

	/**
	 * Releases the database lock. This is a no-op if mLockingEnabled is false.
	 *
	 * @see #unlock()
	 */
	/* package */ void unlock() {
		throw (new RuntimeException("Not implements"));
	}

	/**
	 * Releases the database lock.
	 *
	 * @see #unlockForced()
	 */
	private void unlockForced() {
		throw (new RuntimeException("Not implements"));
	}

	/**
	 * Performs a PRAGMA integrity_check; command against the database.
	 * 
	 * @return true if the integrity check is ok, otherwise false
	 */
	public boolean isDatabaseIntegrityOk() {
		throw (new RuntimeException("Not implements"));
	}

	/**
	 * Returns a list of attached databases including the main database by
	 * executing PRAGMA database_list
	 * 
	 * @return a list of pairs of database name and filename
	 */
	public List> getAttachedDbs() {
		throw (new RuntimeException("Not implements"));
	}

	/**
	 * Sets the journal mode of the database to WAL
	 * 
	 * @return true if successful, false otherwise
	 */
	public boolean enableWriteAheadLogging() {
		throw (new RuntimeException("Not implements"));
	}

	/**
	 * Sets the journal mode of the database to DELETE (the default mode)
	 */
	public void disableWriteAheadLogging() {
		throw (new RuntimeException("Not implements"));
	}

	/**
	 * @return true if the journal mode is set to WAL, otherwise false
	 */
	public boolean isWriteAheadLoggingEnabled() {
		throw (new RuntimeException("Not implements"));
	}

	/**
	 * Enables or disables foreign key constraints
	 * 
	 * @param enable
	 *            used to determine whether or not foreign key constraints are
	 *            on
	 */
	public void setForeignKeyConstraintsEnabled(boolean enable) {
		throw (new RuntimeException("Not implements"));
	}

	/**
	 * Begins a transaction. Transactions can be nested. When the outer
	 * transaction is ended all of the work done in that transaction and all of
	 * the nested transactions will be committed or rolled back. The changes
	 * will be rolled back if any transaction is ended without being marked as
	 * clean (by calling setTransactionSuccessful). Otherwise they will be
	 * committed.
	 *
	 * 

* Here is the standard idiom for transactions: * *

	 *   db.beginTransaction();
	 *   try {
	 *     ...
	 *     db.setTransactionSuccessful();
	 *   } finally {
	 *     db.endTransaction();
	 *   }
	 * 
* * @throws IllegalStateException * if the database is not open */ public void beginTransaction() { throw (new RuntimeException("Not implements")); } /** * Begins a transaction in Exlcusive mode. Transactions can be nested. When * the outer transaction is ended all of the work done in that transaction * and all of the nested transactions will be committed or rolled back. The * changes will be rolled back if any transaction is ended without being * marked as clean (by calling setTransactionSuccessful). Otherwise they * will be committed. * *

* Here is the standard idiom for transactions: * *

	 *   db.beginTransactionWithListener(listener);
	 *   try {
	 *     ...
	 *     db.setTransactionSuccessful();
	 *   } finally {
	 *     db.endTransaction();
	 *   }
	 * 
* * @param transactionListener * listener that should be notified when the transaction begins, * commits, or is rolled back, either explicitly or by a call to * {@link #yieldIfContendedSafely}. * * @throws IllegalStateException * if the database is not open */ public void beginTransactionWithListener(SQLiteTransactionListener transactionListener) { throw (new RuntimeException("Not implements")); } /** * Begins a transaction in Immediate mode */ public void beginTransactionNonExclusive() { throw (new RuntimeException("Not implements")); } /** * Begins a transaction in Immediate mode * * @param transactionListener * is the listener used to report transaction events */ public void beginTransactionWithListenerNonExclusive(SQLiteTransactionListener transactionListener) { throw (new RuntimeException("Not implements")); } /** * End a transaction. See beginTransaction for notes about how to use this * and when transactions are committed and rolled back. * * @throws IllegalStateException * if the database is not open or is not locked by the current * thread */ public void endTransaction() { throw (new RuntimeException("Not implements")); } /** * Marks the current transaction as successful. Do not do any more database * work between calling this and calling endTransaction. Do as little * non-database work as possible in that situation too. If any errors are * encountered between this and endTransaction the transaction will still be * committed. * * @throws IllegalStateException * if the database is not open, the current thread is not in a * transaction, or the transaction is already marked as * successful. */ public void setTransactionSuccessful() { throw (new RuntimeException("Not implements")); } /** * return true if there is a transaction pending */ public boolean inTransaction() { throw (new RuntimeException("Not implements")); } /** * Checks if the database lock is held by this thread. * * @return true, if this thread is holding the database lock. */ public boolean isDbLockedByCurrentThread() { throw (new RuntimeException("Not implements")); } /** * Checks if the database is locked by another thread. This is just an * estimate, since this status can change at any time, including after the * call is made but before the result has been acted upon. * * @return true if the transaction was yielded, false if queue was empty or * database was not open */ public boolean isDbLockedByOtherThreads() { throw (new RuntimeException("Not implements")); } /** * Temporarily end the transaction to let other threads run. The transaction * is assumed to be successful so far. Do not call setTransactionSuccessful * before calling this. When this returns a new transaction will have been * created but not marked as successful. * * @return true if the transaction was yielded * * @deprecated if the db is locked more than once (becuase of nested * transactions) then the lock will not be yielded. Use * yieldIfContendedSafely instead. */ @Deprecated public boolean yieldIfContended() { throw (new RuntimeException("Not implements")); } /** * Temporarily end the transaction to let other threads run. The transaction * is assumed to be successful so far. Do not call setTransactionSuccessful * before calling this. When this returns a new transaction will have been * created but not marked as successful. This assumes that there are no * nested transactions (beginTransaction has only been called once) and will * throw an exception if that is not the case. * * @return true if the transaction was yielded, false if queue was empty or * database was not open */ public boolean yieldIfContendedSafely() { throw (new RuntimeException("Not implements")); } /** * Temporarily end the transaction to let other threads run. The transaction * is assumed to be successful so far. Do not call setTransactionSuccessful * before calling this. When this returns a new transaction will have been * created but not marked as successful. This assumes that there are no * nested transactions (beginTransaction has only been called once) and will * throw an exception if that is not the case. * * @param sleepAfterYieldDelay * if > 0, sleep this long before starting a new transaction if * the lock was actually yielded. This will allow other * background threads to make some more progress than they would * if we started the transaction immediately. * * @return true if the transaction was yielded, false if queue was empty or * database was not open * * @throws IllegalStateException * if the database is locked more than once by the current * thread * @throws InterruptedException * if the thread was interrupted while sleeping */ public boolean yieldIfContendedSafely(long sleepAfterYieldDelay) { throw (new RuntimeException("Not implements")); } public Map getSyncedTables() { throw (new RuntimeException("Not implements")); } /** * Used to allow returning sub-classes of {@link Cursor} when calling query. */ public interface CursorFactory { /** * See * {@link SQLiteCursor#SQLiteCursor(SQLiteDatabase, SQLiteCursorDriver, String, SQLiteQuery)}. */ public Cursor newCursor(SQLiteDatabase db, SQLiteCursorDriver masterQuery, String editTable, SQLiteQuery query); } /** * Open the database according to the flags {@link #OPEN_READWRITE} * {@link #OPEN_READONLY} {@link #CREATE_IF_NECESSARY} and/or * {@link #NO_LOCALIZED_COLLATORS}. * *

* Sets the locale of the database to the the system's current locale. Call * {@link #setLocale} if you would like something else. *

* * @param path * to database file to open and/or create * @param password * to use to open and/or create database file * @param factory * an optional factory class that is called to instantiate a * cursor when query is called, or null for default * @param flags * to control database access mode and other options * * @return the newly opened database * * @throws SQLiteException * if the database cannot be opened * @throws IllegalArgumentException * if the database path is null */ public static SQLiteDatabase openDatabase(String path, String password, CursorFactory factory, int flags) { throw (new RuntimeException("Not implements")); } /** * Open the database according to the flags {@link #OPEN_READWRITE} * {@link #OPEN_READONLY} {@link #CREATE_IF_NECESSARY} and/or * {@link #NO_LOCALIZED_COLLATORS}. * *

* Sets the locale of the database to the system's current locale. Call * {@link #setLocale} if you would like something else. *

* * @param path * to database file to open and/or create * @param password * to use to open and/or create database file (char array) * @param factory * an optional factory class that is called to instantiate a * cursor when query is called, or null for default * @param flags * to control database access mode and other options * * @return the newly opened database * * @throws SQLiteException * if the database cannot be opened * @throws IllegalArgumentException * if the database path is null */ public static SQLiteDatabase openDatabase(String path, char[] password, CursorFactory factory, int flags) { throw (new RuntimeException("Not implements")); } /** * Open the database according to the flags {@link #OPEN_READWRITE} * {@link #OPEN_READONLY} {@link #CREATE_IF_NECESSARY} and/or * {@link #NO_LOCALIZED_COLLATORS} with optional hook to run on pre/post key * events. * *

* Sets the locale of the database to the the system's current locale. Call * {@link #setLocale} if you would like something else. *

* * @param path * to database file to open and/or create * @param password * to use to open and/or create database file * @param factory * an optional factory class that is called to instantiate a * cursor when query is called, or null for default * @param flags * to control database access mode and other options * @param hook * to run on pre/post key events * * @return the newly opened database * * @throws SQLiteException * if the database cannot be opened * @throws IllegalArgumentException * if the database path is null */ public static SQLiteDatabase openDatabase(String path, String password, CursorFactory factory, int flags, SQLiteDatabaseHook hook) { throw (new RuntimeException("Not implements")); } /** * Open the database according to the flags {@link #OPEN_READWRITE} * {@link #OPEN_READONLY} {@link #CREATE_IF_NECESSARY} and/or * {@link #NO_LOCALIZED_COLLATORS} with optional hook to run on pre/post key * events. * *

* Sets the locale of the database to the the system's current locale. Call * {@link #setLocale} if you would like something else. *

* * @param path * to database file to open and/or create * @param password * to use to open and/or create database file (char array) * @param factory * an optional factory class that is called to instantiate a * cursor when query is called, or null for default * @param flags * to control database access mode and other options * @param hook * to run on pre/post key events (may be null) * * @return the newly opened database * * @throws SQLiteException * if the database cannot be opened * @throws IllegalArgumentException * if the database path is null */ public static SQLiteDatabase openDatabase(String path, char[] password, CursorFactory factory, int flags, SQLiteDatabaseHook hook) { throw (new RuntimeException("Not implements")); } /** * Open the database according to the flags {@link #OPEN_READWRITE} * {@link #OPEN_READONLY} {@link #CREATE_IF_NECESSARY} and/or * {@link #NO_LOCALIZED_COLLATORS} with optional hook to run on pre/post key * events. * *

* Sets the locale of the database to the the system's current locale. Call * {@link #setLocale} if you would like something else. *

* * @param path * to database file to open and/or create * @param password * to use to open and/or create database file * @param factory * an optional factory class that is called to instantiate a * cursor when query is called, or null for default * @param flags * to control database access mode and other options * @param hook * to run on pre/post key events * @param errorHandler * The {@link DatabaseErrorHandler} to be used when sqlite * reports database corruption (or null for default). * * @return the newly opened database * * @throws SQLiteException * if the database cannot be opened * @throws IllegalArgumentException * if the database path is null */ public static SQLiteDatabase openDatabase(String path, String password, CursorFactory factory, int flags, SQLiteDatabaseHook hook, DatabaseErrorHandler errorHandler) { throw (new RuntimeException("Not implements")); } /** * Open the database according to the flags {@link #OPEN_READWRITE} * {@link #OPEN_READONLY} {@link #CREATE_IF_NECESSARY} and/or * {@link #NO_LOCALIZED_COLLATORS} with optional hook to run on pre/post key * events. * *

* Sets the locale of the database to the the system's current locale. Call * {@link #setLocale} if you would like something else. *

* * @param path * to database file to open and/or create * @param password * to use to open and/or create database file (char array) * @param factory * an optional factory class that is called to instantiate a * cursor when query is called, or null for default * @param flags * to control database access mode and other options * @param hook * to run on pre/post key events (may be null) * @param errorHandler * The {@link DatabaseErrorHandler} to be used when sqlite * reports database corruption (or null for default). * * @return the newly opened database * * @throws SQLiteException * if the database cannot be opened * @throws IllegalArgumentException * if the database path is null */ public static SQLiteDatabase openDatabase(String path, char[] password, CursorFactory factory, int flags, SQLiteDatabaseHook hook, DatabaseErrorHandler errorHandler) { throw (new RuntimeException("Not implements")); } /** * Open the database according to the flags {@link #OPEN_READWRITE} * {@link #OPEN_READONLY} {@link #CREATE_IF_NECESSARY} and/or * {@link #NO_LOCALIZED_COLLATORS} with optional hook to run on pre/post key * events. * *

* Sets the locale of the database to the the system's current locale. Call * {@link #setLocale} if you would like something else. *

* * @param path * to database file to open and/or create * @param password * to use to open and/or create database file (byte array) * @param factory * an optional factory class that is called to instantiate a * cursor when query is called, or null for default * @param flags * to control database access mode and other options * @param hook * to run on pre/post key events (may be null) * @param errorHandler * The {@link DatabaseErrorHandler} to be used when sqlite * reports database corruption (or null for default). * * @return the newly opened database * * @throws SQLiteException * if the database cannot be opened * @throws IllegalArgumentException * if the database path is null */ public static SQLiteDatabase openDatabase(String path, byte[] password, CursorFactory factory, int flags, SQLiteDatabaseHook hook, DatabaseErrorHandler errorHandler) { throw (new RuntimeException("Not implements")); } /** * Equivalent to openDatabase(file.getPath(), password, factory, * CREATE_IF_NECESSARY, databaseHook). */ public static SQLiteDatabase openOrCreateDatabase(File file, String password, CursorFactory factory, SQLiteDatabaseHook databaseHook) { throw (new RuntimeException("Not implements")); } /** * Equivalent to openDatabase(path, password, factory, CREATE_IF_NECESSARY, * databaseHook). */ public static SQLiteDatabase openOrCreateDatabase(File file, String password, CursorFactory factory, SQLiteDatabaseHook databaseHook, DatabaseErrorHandler errorHandler) { throw (new RuntimeException("Not implements")); } /** * Equivalent to openDatabase(path, password, factory, CREATE_IF_NECESSARY, * databaseHook). */ public static SQLiteDatabase openOrCreateDatabase(String path, String password, CursorFactory factory, SQLiteDatabaseHook databaseHook) { throw (new RuntimeException("Not implements")); } public static SQLiteDatabase openOrCreateDatabase(String path, String password, CursorFactory factory, SQLiteDatabaseHook databaseHook, DatabaseErrorHandler errorHandler) { throw (new RuntimeException("Not implements")); } public static SQLiteDatabase openOrCreateDatabase(String path, char[] password, CursorFactory factory, SQLiteDatabaseHook databaseHook) { throw (new RuntimeException("Not implements")); } public static SQLiteDatabase openOrCreateDatabase(String path, char[] password, CursorFactory factory, SQLiteDatabaseHook databaseHook, DatabaseErrorHandler errorHandler) { throw (new RuntimeException("Not implements")); } public static SQLiteDatabase openOrCreateDatabase(String path, byte[] password, CursorFactory factory, SQLiteDatabaseHook databaseHook) { throw (new RuntimeException("Not implements")); } public static SQLiteDatabase openOrCreateDatabase(String path, byte[] password, CursorFactory factory, SQLiteDatabaseHook databaseHook, DatabaseErrorHandler errorHandler) { throw (new RuntimeException("Not implements")); } /** * Equivalent to openDatabase(file.getPath(), password, factory, * CREATE_IF_NECESSARY). */ public static SQLiteDatabase openOrCreateDatabase(File file, String password, CursorFactory factory) { throw (new RuntimeException("Not implements")); } /** * Equivalent to openDatabase(path, password, factory, CREATE_IF_NECESSARY). */ public static SQLiteDatabase openOrCreateDatabase(String path, String password, CursorFactory factory) { throw (new RuntimeException("Not implements")); } /** * Equivalent to openDatabase(path, password, factory, CREATE_IF_NECESSARY). */ public static SQLiteDatabase openOrCreateDatabase(String path, char[] password, CursorFactory factory) { throw (new RuntimeException("Not implements")); } /** * Equivalent to openDatabase(path, password, factory, CREATE_IF_NECESSARY). */ public static SQLiteDatabase openOrCreateDatabase(String path, byte[] password, CursorFactory factory) { throw (new RuntimeException("Not implements")); } /** * Create a memory backed SQLite database. Its contents will be destroyed * when the database is closed. * *

* Sets the locale of the database to the the system's current locale. Call * {@link #setLocale} if you would like something else. *

* * @param factory * an optional factory class that is called to instantiate a * cursor when query is called * @param password * to use to open and/or create database file * * @return a SQLiteDatabase object, or null if the database can't be created * * @throws SQLiteException * if the database cannot be opened */ public static SQLiteDatabase create(CursorFactory factory, String password) { throw (new RuntimeException("Not implements")); } /** * Create a memory backed SQLite database. Its contents will be destroyed * when the database is closed. * *

* Sets the locale of the database to the the system's current locale. Call * {@link #setLocale} if you would like something else. *

* * @param factory * an optional factory class that is called to instantiate a * cursor when query is called * @param password * to use to open and/or create database file (char array) * * @return a SQLiteDatabase object, or null if the database can't be created * * @throws SQLiteException * if the database cannot be opened */ public static SQLiteDatabase create(CursorFactory factory, char[] password) { throw (new RuntimeException("Not implements")); } /** * Close the database. */ public void close() { throw (new RuntimeException("Not implements")); } /** * Gets the database version. * * @return the database version * * @throws IllegalStateException * if the database is not open */ public int getVersion() { throw (new RuntimeException("Not implements")); } /** * Sets the database version. * * @param version * the new database version * * @throws SQLiteException * if there is an issue executing the sql internally * @throws IllegalStateException * if the database is not open */ public void setVersion(int version) { throw (new RuntimeException("Not implements")); } /** * Returns the maximum size the database may grow to. * * @return the new maximum database size */ public long getMaximumSize() { throw (new RuntimeException("Not implements")); } /** * Sets the maximum size the database will grow to. The maximum size cannot * be set below the current size. * * @param numBytes * the maximum database size, in bytes * @return the new maximum database size */ public long setMaximumSize(long numBytes) { throw (new RuntimeException("Not implements")); } /** * Returns the current database page size, in bytes. * * @return the database page size, in bytes */ public long getPageSize() { throw (new RuntimeException("Not implements")); } /** * Sets the database page size. The page size must be a power of two. This * method does not work if any data has been written to the database file, * and must be called right after the database has been created. * * @param numBytes * the database page size, in bytes */ public void setPageSize(long numBytes) { throw (new RuntimeException("Not implements")); } /** * Mark this table as syncable. When an update occurs in this table the * _sync_dirty field will be set to ensure proper syncing operation. * * @param table * the table to mark as syncable * @param deletedTable * The deleted table that corresponds to the syncable table * * @throws SQLiteException * if there is an issue executing the sql to mark the table as * syncable OR if the database is not open * * FUTURE @todo throw IllegalStateException if the database is * not open and update the test suite * * NOTE: This method was deprecated by the AOSP in Android API * 11. */ public void markTableSyncable(String table, String deletedTable) { throw (new RuntimeException("Not implements")); } /** * Mark this table as syncable, with the _sync_dirty residing in another * table. When an update occurs in this table the _sync_dirty field of the * row in updateTable with the _id in foreignKey will be set to ensure * proper syncing operation. * * @param table * an update on this table will trigger a sync time removal * @param foreignKey * this is the column in table whose value is an _id in * updateTable * @param updateTable * this is the table that will have its _sync_dirty * * @throws SQLiteException * if there is an issue executing the sql to mark the table as * syncable * * FUTURE @todo throw IllegalStateException if the database is * not open and update the test suite * * NOTE: This method was deprecated by the AOSP in Android API * 11. */ public void markTableSyncable(String table, String foreignKey, String updateTable) { throw (new RuntimeException("Not implements")); } /** * Finds the name of the first table, which is editable. * * @param tables * a list of tables * @return the first table listed */ public static String findEditTable(String tables) { throw (new RuntimeException("Not implements")); } /** * Compiles an SQL statement into a reusable pre-compiled statement object. * The parameters are identical to {@link #execSQL(String)}. You may put ?s * in the statement and fill in those values with * {@link SQLiteProgram#bindString} and {@link SQLiteProgram#bindLong} each * time you want to run the statement. Statements may not return result sets * larger than 1x1. * * @param sql * The raw SQL statement, may contain ? for unknown values to be * bound later. * * @return A pre-compiled {@link SQLiteStatement} object. Note that * {@link SQLiteStatement}s are not synchronized, see the * documentation for more details. * * @throws SQLException * If the SQL string is invalid for some reason * @throws IllegalStateException * if the database is not open */ public SQLiteStatement compileStatement(String sql) throws SQLException { throw (new RuntimeException("Not implements")); } /** * Query the given URL, returning a {@link Cursor} over the result set. * * @param distinct * true if you want each row to be unique, false otherwise. * @param table * The table name to compile the query against. * @param columns * A list of which columns to return. Passing null will return * all columns, which is discouraged to prevent reading data from * storage that isn't going to be used. * @param selection * A filter declaring which rows to return, formatted as an SQL * WHERE clause (excluding the WHERE itself). Passing null will * return all rows for the given table. * @param selectionArgs * You may include ?s in selection, which will be replaced by the * values from selectionArgs, in order that they appear in the * selection. The values will be bound as Strings. * @param groupBy * A filter declaring how to group rows, formatted as an SQL * GROUP BY clause (excluding the GROUP BY itself). Passing null * will cause the rows to not be grouped. * @param having * A filter declare which row groups to include in the cursor, if * row grouping is being used, formatted as an SQL HAVING clause * (excluding the HAVING itself). Passing null will cause all row * groups to be included, and is required when row grouping is * not being used. * @param orderBy * How to order the rows, formatted as an SQL ORDER BY clause * (excluding the ORDER BY itself). Passing null will use the * default sort order, which may be unordered. * @param limit * Limits the number of rows returned by the query, formatted as * LIMIT clause. Passing null denotes no LIMIT clause. * * @return A {@link Cursor} object, which is positioned before the first * entry. Note that {@link Cursor}s are not synchronized, see the * documentation for more details. * * @throws SQLiteException * if there is an issue executing the sql or the SQL string is * invalid * @throws IllegalStateException * if the database is not open * * @see Cursor */ public Cursor query(boolean distinct, String table, String[] columns, String selection, String[] selectionArgs, String groupBy, String having, String orderBy, String limit) { throw (new RuntimeException("Not implements")); } /** * Query the given URL, returning a {@link Cursor} over the result set. * * @param cursorFactory * the cursor factory to use, or null for the default factory * @param distinct * true if you want each row to be unique, false otherwise. * @param table * The table name to compile the query against. * @param columns * A list of which columns to return. Passing null will return * all columns, which is discouraged to prevent reading data from * storage that isn't going to be used. * @param selection * A filter declaring which rows to return, formatted as an SQL * WHERE clause (excluding the WHERE itself). Passing null will * return all rows for the given table. * @param selectionArgs * You may include ?s in selection, which will be replaced by the * values from selectionArgs, in order that they appear in the * selection. The values will be bound as Strings. * @param groupBy * A filter declaring how to group rows, formatted as an SQL * GROUP BY clause (excluding the GROUP BY itself). Passing null * will cause the rows to not be grouped. * @param having * A filter declare which row groups to include in the cursor, if * row grouping is being used, formatted as an SQL HAVING clause * (excluding the HAVING itself). Passing null will cause all row * groups to be included, and is required when row grouping is * not being used. * @param orderBy * How to order the rows, formatted as an SQL ORDER BY clause * (excluding the ORDER BY itself). Passing null will use the * default sort order, which may be unordered. * @param limit * Limits the number of rows returned by the query, formatted as * LIMIT clause. Passing null denotes no LIMIT clause. * * @return A {@link Cursor} object, which is positioned before the first * entry. Note that {@link Cursor}s are not synchronized, see the * documentation for more details. * * @see Cursor */ public Cursor queryWithFactory(CursorFactory cursorFactory, boolean distinct, String table, String[] columns, String selection, String[] selectionArgs, String groupBy, String having, String orderBy, String limit) { throw (new RuntimeException("Not implements")); } /** * Query the given table, returning a {@link Cursor} over the result set. * * @param table * The table name to compile the query against. * @param columns * A list of which columns to return. Passing null will return * all columns, which is discouraged to prevent reading data from * storage that isn't going to be used. * @param selection * A filter declaring which rows to return, formatted as an SQL * WHERE clause (excluding the WHERE itself). Passing null will * return all rows for the given table. * @param selectionArgs * You may include ?s in selection, which will be replaced by the * values from selectionArgs, in order that they appear in the * selection. The values will be bound as Strings. * @param groupBy * A filter declaring how to group rows, formatted as an SQL * GROUP BY clause (excluding the GROUP BY itself). Passing null * will cause the rows to not be grouped. * @param having * A filter declare which row groups to include in the cursor, if * row grouping is being used, formatted as an SQL HAVING clause * (excluding the HAVING itself). Passing null will cause all row * groups to be included, and is required when row grouping is * not being used. * @param orderBy * How to order the rows, formatted as an SQL ORDER BY clause * (excluding the ORDER BY itself). Passing null will use the * default sort order, which may be unordered. * * @return A {@link Cursor} object, which is positioned before the first * entry. Note that {@link Cursor}s are not synchronized, see the * documentation for more details. * * @throws SQLiteException * if there is an issue executing the sql or the SQL string is * invalid * @throws IllegalStateException * if the database is not open * * @see Cursor */ public Cursor query(String table, String[] columns, String selection, String[] selectionArgs, String groupBy, String having, String orderBy) { throw (new RuntimeException("Not implements")); } /** * Query the given table, returning a {@link Cursor} over the result set. * * @param table * The table name to compile the query against. * @param columns * A list of which columns to return. Passing null will return * all columns, which is discouraged to prevent reading data from * storage that isn't going to be used. * @param selection * A filter declaring which rows to return, formatted as an SQL * WHERE clause (excluding the WHERE itself). Passing null will * return all rows for the given table. * @param selectionArgs * You may include ?s in selection, which will be replaced by the * values from selectionArgs, in order that they appear in the * selection. The values will be bound as Strings. * @param groupBy * A filter declaring how to group rows, formatted as an SQL * GROUP BY clause (excluding the GROUP BY itself). Passing null * will cause the rows to not be grouped. * @param having * A filter declare which row groups to include in the cursor, if * row grouping is being used, formatted as an SQL HAVING clause * (excluding the HAVING itself). Passing null will cause all row * groups to be included, and is required when row grouping is * not being used. * @param orderBy * How to order the rows, formatted as an SQL ORDER BY clause * (excluding the ORDER BY itself). Passing null will use the * default sort order, which may be unordered. * @param limit * Limits the number of rows returned by the query, formatted as * LIMIT clause. Passing null denotes no LIMIT clause. * * @return A {@link Cursor} object, which is positioned before the first * entry. Note that {@link Cursor}s are not synchronized, see the * documentation for more details. * * @throws SQLiteException * if there is an issue executing the sql or the SQL string is * invalid * @throws IllegalStateException * if the database is not open * * @see Cursor */ public Cursor query(String table, String[] columns, String selection, String[] selectionArgs, String groupBy, String having, String orderBy, String limit) { throw (new RuntimeException("Not implements")); } /** * Runs the provided SQL and returns a {@link Cursor} over the result set. * * @param sql * the SQL query. The SQL string must not be ; terminated * @param selectionArgs * You may include ?s in where clause in the query, which will be * replaced by the values from selectionArgs. The values will be * bound as Strings. * * @return A {@link Cursor} object, which is positioned before the first * entry. Note that {@link Cursor}s are not synchronized, see the * documentation for more details. * * @throws SQLiteException * if there is an issue executing the sql or the SQL string is * invalid * @throws IllegalStateException * if the database is not open */ public Cursor rawQuery(String sql, String[] selectionArgs) { throw (new RuntimeException("Not implements")); } /** * Runs the provided SQL and returns a {@link Cursor} over the result set. * * @param sql * the SQL query. The SQL string must not be ; terminated * @param args * You may include ?s in where clause in the query, which will be * replaced by the values from args. The values will be bound by * their type. * * @return A {@link Cursor} object, which is positioned before the first * entry. Note that {@link Cursor}s are not synchronized, see the * documentation for more details. * * @throws SQLiteException * if there is an issue executing the sql or the SQL string is * invalid * @throws IllegalStateException * if the database is not open */ public Cursor rawQuery(String sql, Object[] args) { throw (new RuntimeException("Not implements")); } /** * Runs the provided SQL and returns a cursor over the result set. * * @param cursorFactory * the cursor factory to use, or null for the default factory * @param sql * the SQL query. The SQL string must not be ; terminated * @param selectionArgs * You may include ?s in where clause in the query, which will be * replaced by the values from selectionArgs. The values will be * bound as Strings. * @param editTable * the name of the first table, which is editable * * @return A {@link Cursor} object, which is positioned before the first * entry. Note that {@link Cursor}s are not synchronized, see the * documentation for more details. * * @throws SQLiteException * if there is an issue executing the sql or the SQL string is * invalid * @throws IllegalStateException * if the database is not open */ public Cursor rawQueryWithFactory(CursorFactory cursorFactory, String sql, String[] selectionArgs, String editTable) { throw (new RuntimeException("Not implements")); } /** * Runs the provided SQL and returns a cursor over the result set. The * cursor will read an initial set of rows and the return to the caller. It * will continue to read in batches and send data changed notifications when * the later batches are ready. * * @param sql * the SQL query. The SQL string must not be ; terminated * @param selectionArgs * You may include ?s in where clause in the query, which will be * replaced by the values from selectionArgs. The values will be * bound as Strings. * @param initialRead * set the initial count of items to read from the cursor * @param maxRead * set the count of items to read on each iteration after the * first * @return A {@link Cursor} object, which is positioned before the first * entry. Note that {@link Cursor}s are not synchronized, see the * documentation for more details. * * This work is incomplete and not fully tested or reviewed, so * currently hidden. * @hide */ public Cursor rawQuery(String sql, String[] selectionArgs, int initialRead, int maxRead) { throw (new RuntimeException("Not implements")); } /** * Convenience method for inserting a row into the database. * * @param table * the table to insert the row into * @param nullColumnHack * SQL doesn't allow inserting a completely empty row, so if * initialValues is empty this column will explicitly be assigned * a NULL value * @param values * this map contains the initial column values for the row. The * keys should be the column names and the values the column * values * @return the row ID of the newly inserted row, or -1 if an error occurred */ public long insert(String table, String nullColumnHack, ContentValues values) { throw (new RuntimeException("Not implements")); } /** * Convenience method for inserting a row into the database. * * @param table * the table to insert the row into * @param nullColumnHack * SQL doesn't allow inserting a completely empty row, so if * initialValues is empty this column will explicitly be assigned * a NULL value * @param values * this map contains the initial column values for the row. The * keys should be the column names and the values the column * values * @throws SQLException * @return the row ID of the newly inserted row, or -1 if an error occurred */ public long insertOrThrow(String table, String nullColumnHack, ContentValues values) throws SQLException { throw (new RuntimeException("Not implements")); } /** * Convenience method for replacing a row in the database. * * @param table * the table in which to replace the row * @param nullColumnHack * SQL doesn't allow inserting a completely empty row, so if * initialValues is empty this row will explicitly be assigned a * NULL value * @param initialValues * this map contains the initial column values for the row. The * key * @return the row ID of the newly inserted row, or -1 if an error occurred */ public long replace(String table, String nullColumnHack, ContentValues initialValues) { throw (new RuntimeException("Not implements")); } /** * Convenience method for replacing a row in the database. * * @param table * the table in which to replace the row * @param nullColumnHack * SQL doesn't allow inserting a completely empty row, so if * initialValues is empty this row will explicitly be assigned a * NULL value * @param initialValues * this map contains the initial column values for the row. The * key * @throws SQLException * @return the row ID of the newly inserted row, or -1 if an error occurred */ public long replaceOrThrow(String table, String nullColumnHack, ContentValues initialValues) throws SQLException { return insertWithOnConflict(table, nullColumnHack, initialValues, CONFLICT_REPLACE); } /** * General method for inserting a row into the database. * * @param table * the table to insert the row into * @param nullColumnHack * SQL doesn't allow inserting a completely empty row, so if * initialValues is empty this column will explicitly be assigned * a NULL value * @param initialValues * this map contains the initial column values for the row. The * keys should be the column names and the values the column * values * @param conflictAlgorithm * for insert conflict resolver * * @return the row ID of the newly inserted row OR the primary key of the * existing row if the input param 'conflictAlgorithm' = * {@link #CONFLICT_IGNORE} OR -1 if any error * * @throws SQLException * If the SQL string is invalid for some reason * @throws IllegalStateException * if the database is not open */ public long insertWithOnConflict(String table, String nullColumnHack, ContentValues initialValues, int conflictAlgorithm) { throw (new RuntimeException("Not implements")); } /** * Convenience method for deleting rows in the database. * * @param table * the table to delete from * @param whereClause * the optional WHERE clause to apply when deleting. Passing null * will delete all rows. * * @return the number of rows affected if a whereClause is passed in, 0 * otherwise. To remove all rows and get a count pass "1" as the * whereClause. * * @throws SQLException * If the SQL string is invalid for some reason * @throws IllegalStateException * if the database is not open */ public int delete(String table, String whereClause, String[] whereArgs) { throw (new RuntimeException("Not implements")); } /** * Convenience method for deleting rows in the database. * * @param table * the table to delete from * @param whereClause * the optional WHERE clause to apply when deleting. Passing null * will delete all rows. * * @return the number of rows affected if a whereClause is passed in, 0 * otherwise. To remove all rows and get a count pass "1" as the * whereClause. * * @throws SQLException * If the SQL string is invalid for some reason * @throws IllegalStateException * if the database is not open */ public int delete(String table, String whereClause, Object[] whereArgs) { throw (new RuntimeException("Not implements")); } /** * Convenience method for updating rows in the database. * * @param table * the table to update in * @param values * a map from column names to new column values. null is a valid * value that will be translated to NULL. * @param whereClause * the optional WHERE clause to apply when updating. Passing null * will update all rows. * * @return the number of rows affected * * @throws SQLException * If the SQL string is invalid for some reason * @throws IllegalStateException * if the database is not open */ public int update(String table, ContentValues values, String whereClause, String[] whereArgs) { throw (new RuntimeException("Not implements")); } /** * Convenience method for updating rows in the database. * * @param table * the table to update in * @param values * a map from column names to new column values. null is a valid * value that will be translated to NULL. * @param whereClause * the optional WHERE clause to apply when updating. Passing null * will update all rows. * @param conflictAlgorithm * for update conflict resolver * * @return the number of rows affected * * @throws SQLException * If the SQL string is invalid for some reason * @throws IllegalStateException * if the database is not open */ public int updateWithOnConflict(String table, ContentValues values, String whereClause, String[] whereArgs, int conflictAlgorithm) { throw (new RuntimeException("Not implements")); } /** * Execute a single SQL statement that is not a query. For example, CREATE * TABLE, DELETE, INSERT, etc. Multiple statements separated by ;s are not * supported. it takes a write lock * * @throws SQLException * If the SQL string is invalid for some reason * @throws IllegalStateException * if the database is not open */ public void execSQL(String sql) throws SQLException { throw (new RuntimeException("Not implements")); } public void rawExecSQL(String sql) { throw (new RuntimeException("Not implements")); } /** * Execute a single SQL statement that is not a query. For example, CREATE * TABLE, DELETE, INSERT, etc. Multiple statements separated by ;s are not * supported. it takes a write lock, * * @param sql * @param bindArgs * only byte[], String, Long and Double are supported in * bindArgs. * * @throws SQLException * If the SQL string is invalid for some reason * @throws IllegalStateException * if the database is not open */ public void execSQL(String sql, Object[] bindArgs) throws SQLException { throw (new RuntimeException("Not implements")); } /** * Public constructor which attempts to open the database. See * {@link #create} and {@link #openDatabase}. * *

* Sets the locale of the database to the system's current locale. Call * {@link #setLocale} if you would like something else. *

* * @param path * The full path to the database * @param password * to use to open and/or create a database file (char array) * @param factory * The factory to use when creating cursors, may be NULL. * @param flags * 0 or {@link #NO_LOCALIZED_COLLATORS}. If the database file * already exists, mFlags will be updated appropriately. * * @throws SQLiteException * if the database cannot be opened * @throws IllegalArgumentException * if the database path is null */ public SQLiteDatabase(String path, char[] password, CursorFactory factory, int flags) { throw (new RuntimeException("Not implements")); } /** * Public constructor which attempts to open the database. See * {@link #create} and {@link #openDatabase}. * *

* Sets the locale of the database to the system's current locale. Call * {@link #setLocale} if you would like something else. *

* * @param path * The full path to the database * @param password * to use to open and/or create a database file (char array) * @param factory * The factory to use when creating cursors, may be NULL. * @param flags * 0 or {@link #NO_LOCALIZED_COLLATORS}. If the database file * already exists, mFlags will be updated appropriately. * @param databaseHook * to run on pre/post key events * * @throws SQLiteException * if the database cannot be opened * @throws IllegalArgumentException * if the database path is null */ public SQLiteDatabase(String path, char[] password, CursorFactory factory, int flags, SQLiteDatabaseHook databaseHook) { throw (new RuntimeException("Not implements")); } public SQLiteDatabase(String path, byte[] password, CursorFactory factory, int flags, SQLiteDatabaseHook databaseHook) { throw (new RuntimeException("Not implements")); } /** * return whether the DB is opened as read only. * * @return true if DB is opened as read only */ public boolean isReadOnly() { throw (new RuntimeException("Not implements")); } /** * @return true if the DB is currently open (has not been closed) */ public boolean isOpen() { throw (new RuntimeException("Not implements")); } public boolean needUpgrade(int newVersion) { throw (new RuntimeException("Not implements")); } /** * Getter for the path to the database file. * * @return the path to our database file. */ public final String getPath() { throw (new RuntimeException("Not implements")); } /** * Sets the locale for this database. Does nothing if this database has the * NO_LOCALIZED_COLLATORS flag set or was opened read only. * * @throws SQLException * if the locale could not be set. The most common reason for * this is that there is no collator available for the locale * you requested. In this case the database remains unchanged. */ public void setLocale(Locale locale) { throw (new RuntimeException("Not implements")); } /** * returns true if the given sql is cached in compiled-sql cache. * * @hide */ public boolean isInCompiledSqlCache(String sql) { throw (new RuntimeException("Not implements")); } /** * purges the given sql from the compiled-sql cache. * * @hide */ public void purgeFromCompiledSqlCache(String sql) { throw (new RuntimeException("Not implements")); } /** * remove everything from the compiled sql cache * * @hide */ public void resetCompiledSqlCache() { throw (new RuntimeException("Not implements")); } /** * return the current maxCacheSqlCacheSize * * @hide */ public synchronized int getMaxSqlCacheSize() { throw (new RuntimeException("Not implements")); } /** * set the max size of the compiled sql cache for this database after * purging the cache. (size of the cache = number of compiled-sql-statements * stored in the cache). * * max cache size can ONLY be increased from its current size (default = 0). * if this method is called with smaller size than the current value of * mMaxSqlCacheSize, then IllegalStateException is thrown * * synchronized because we don't want t threads to change cache size at the * same time. * * @param cacheSize * the size of the cache. can be (0 to MAX_SQL_CACHE_SIZE) * @throws IllegalStateException * if input cacheSize > MAX_SQL_CACHE_SIZE or < 0 or < the value * set with previous setMaxSqlCacheSize() call. * * @hide */ public synchronized void setMaxSqlCacheSize(int cacheSize) { throw (new RuntimeException("Not implements")); } public static byte[] getBytes(char[] data) { throw (new RuntimeException("Not implements")); } public static char[] getChars(byte[] data) { throw (new RuntimeException("Not implements")); } /* begin SQLiteSupportDatabase methods */ @Override public android.database.Cursor query(String query) { throw (new RuntimeException("Not implements")); } @Override public android.database.Cursor query(String query, Object[] bindArgs) { throw (new RuntimeException("Not implements")); } @Override public android.database.Cursor query(SupportSQLiteQuery query) { throw (new RuntimeException("Not implements")); } @Override public android.database.Cursor query(final SupportSQLiteQuery supportQuery, CancellationSignal cancellationSignal) { throw (new RuntimeException("Not implements")); } @Override public long insert(String table, int conflictAlgorithm, ContentValues values) throws android.database.SQLException { throw (new RuntimeException("Not implements")); } @Override public int update(String table, int conflictAlgorithm, ContentValues values, String whereClause, Object[] whereArgs) { throw (new RuntimeException("Not implements")); } @Override public void beginTransactionWithListener( final android.database.sqlite.SQLiteTransactionListener transactionListener) { throw (new RuntimeException("Not implements")); } @Override public void beginTransactionWithListenerNonExclusive( final android.database.sqlite.SQLiteTransactionListener transactionListener) { throw (new RuntimeException("Not implements")); } /** * Sets the root directory to search for the ICU data file */ public static native void setICURoot(String path); @Override protected void onAllReferencesReleased() { // TODO Auto-generated method stub } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy