# Print output for @column tags ?>
Applications use these classes to manage private databases. If creating a
content provider, you will probably have to use these classes to create and
manage your own database to store content. See Content Providers
to learn the conventions for implementing a content provider. If you are working
with data sent to you by a provider, you do not use these SQLite classes, but
instead use the generic android.database classes.
The Android SDK and Android emulators both include the
sqlite3 command-line
database tool. On your development machine, run the tool from the
platform-tools/ folder of your SDK. On the emulator, run the tool
with adb shell, for example, adb -e shell sqlite3.
The version of SQLite depends on the version of Android. See the following table:
| Android API | SQLite Version |
|---|---|
| API 31 | 3.32 |
| API 30 | 3.28 |
| API 28 | 3.22 |
| API 27 | 3.19 |
| API 26 | 3.18 |
| API 24 | 3.9 |
| API 21 | 3.8 |
| API 11 | 3.7 |
| API 8 | 3.6 |
| API 3 | 3.5 |
| API 1 | 3.4 |
Some device manufacturers include different versions of SQLite on their devices. There are two ways to programmatically determine the version number.
adb -e shell sqlite3 --version.
String query = "select sqlite_version() AS sqlite_version";
SQLiteDatabase db = SQLiteDatabase.openOrCreateDatabase(":memory:", null);
Cursor cursor = db.rawQuery(query, null);
String sqliteVersion = "";
if (cursor.moveToNext()) {
sqliteVersion = cursor.getString(0);
}
| SQLiteCursorDriver | A driver for SQLiteCursors that is used to create them and gets notified by the cursors it creates on significant events in their lifetimes. |
| SQLiteDatabase.CursorFactory |
Used to allow returning sub-classes of Cursor when calling query.
|
| SQLiteTransactionListener | A listener for transaction events. |
| SQLiteClosable | An object created from a SQLiteDatabase that can be closed. |
| SQLiteCursor |
A Cursor implementation that exposes results from a query on a
SQLiteDatabase.
|
| SQLiteDatabase | Exposes methods to manage a SQLite database. |
| SQLiteDatabase.OpenParams |
Wrapper for configuration parameters that are used for opening SQLiteDatabase
|
| SQLiteDatabase.OpenParams.Builder |
Builder for OpenParams.
|
| SQLiteOpenHelper | A helper class to manage database creation and version management. |
| SQLiteProgram | A base class for compiled SQLite programs. |
| SQLiteQuery |
Represents a query that reads the resulting rows into a SQLiteQuery.
|
| SQLiteQueryBuilder |
This is a convenience class that helps build SQL queries to be sent to
SQLiteDatabase objects.
|
| SQLiteStatement | Represents a statement that can be executed against a database. |
| SQLiteAbortException | An exception that indicates that the SQLite program was aborted. |
| SQLiteAccessPermException | This exception class is used when sqlite can't access the database file due to lack of permissions on the file. |
| SQLiteBindOrColumnIndexOutOfRangeException | Thrown if the the bind or column parameter index is out of range |
| SQLiteBlobTooBigException | |
| SQLiteCantOpenDatabaseException | |
| SQLiteConstraintException | An exception that indicates that an integrity constraint was violated. |
| SQLiteDatabaseCorruptException | An exception that indicates that the SQLite database file is corrupt. |
| SQLiteDatabaseLockedException | Thrown if the database engine was unable to acquire the database locks it needs to do its job. |
| SQLiteDatatypeMismatchException | |
| SQLiteDiskIOException | An exception that indicates that an IO error occured while accessing the SQLite database file. |
| SQLiteDoneException | An exception that indicates that the SQLite program is done. |
| SQLiteException | A SQLite exception that indicates there was an error with SQL parsing or execution. |
| SQLiteFullException | An exception that indicates that the SQLite database is full. |
| SQLiteMisuseException | This error can occur if the application creates a SQLiteStatement object and allows multiple threads in the application use it at the same time. |
| SQLiteOutOfMemoryException | |
| SQLiteReadOnlyDatabaseException | |
| SQLiteTableLockedException |