[ Web Proxy ]
URL:
Viewing: https://developer.android.com/reference/androidx/sqlite/db/SupportSQLiteOpenHelper [Back]  [Original]

SupportSQLiteOpenHelper  |  API reference  |  Android Developers Skip to main content
Essentials Design & Plan Develop Google Play Blog
Search:
Android Studio
Android Developers [Android Developers]
Stay organized with collections Save and categorize content based on your preferences.

SupportSQLiteOpenHelper


public interface SupportSQLiteOpenHelper extends Closeable


An interface to map the behavior of android.database.sqlite.SQLiteOpenHelper. Note that since that class requires overriding certain methods, support implementation uses Factory.create to create this and Callback to implement the methods that should be overridden.

Summary

Nested types

public abstract class SupportSQLiteOpenHelper.Callback

Creates a new Callback to get database lifecycle events.

The configuration to create an SQLite open helper object using Factory.

Builder class for Configuration.

public fun interface SupportSQLiteOpenHelper.Factory

Factory class to create instances of SupportSQLiteOpenHelper using Configuration.

Public methods

abstract void

Close any open database object.

abstract String

Return the name of the SQLite database being opened, as given to the constructor.

abstract @NonNull SupportSQLiteDatabase

Create and/or open a database.

abstract @NonNull SupportSQLiteDatabase

Create and/or open a database that will be used for reading and writing.

abstract void
setWriteAheadLoggingEnabled(boolean enabled)

Enables or disables the use of write-ahead logging for the database.

Public methods

close

Added in 2.0.0
abstract void close()

Close any open database object.

getDatabaseName

Added in 2.0.0
abstract String getDatabaseName()

Return the name of the SQLite database being opened, as given to the constructor. null indicates an in-memory database.

getReadableDatabase

Added in 2.0.0
abstract @NonNull SupportSQLiteDatabase getReadableDatabase()

Create and/or open a database. This will be the same object returned by writableDatabase unless some problem, such as a full disk, requires the database to be opened read-only. In that case, a read-only database object will be returned. If the problem is fixed, a future call to writableDatabase may succeed, in which case the read-only database object will be closed and the read/write object will be returned in the future.

Like writableDatabase, this method may take a long time to return, so you should not call it from the application main thread, including from ContentProvider.onCreate().

Returns
@NonNull SupportSQLiteDatabase

a database object valid until writableDatabase or close is called.

Throws
SQLiteException

if the database cannot be opened

getWritableDatabase

Added in 2.0.0
abstract @NonNull SupportSQLiteDatabase getWritableDatabase()

Create and/or open a database that will be used for reading and writing. The first time this is called, the database will be opened and Callback.onCreate, Callback.onUpgrade and/or Callback.onOpen will be called.

Once opened successfully, the database is cached, so you can call this method every time you need to write to the database. (Make sure to call close when you no longer need the database.) Errors such as bad permissions or a full disk may cause this method to fail, but future attempts may succeed if the problem is fixed.

Database upgrade may take a long time, you should not call this method from the application main thread, including from ContentProvider.onCreate().

Returns
@NonNull SupportSQLiteDatabase

a read/write database object valid until close is called

Throws
SQLiteException

if the database cannot be opened for writing

setWriteAheadLoggingEnabled

Added in 2.0.0
abstract void setWriteAheadLoggingEnabled(boolean enabled)

Enables or disables the use of write-ahead logging for the database.

See SupportSQLiteDatabase.enableWriteAheadLogging for details.

Write-ahead logging cannot be used with read-only databases so the value of this flag is ignored if the database is opened read-only.

Parameters
boolean enabled

True if write-ahead logging should be enabled, false if it should be disabled.

Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.

Last updated 2026-06-24 UTC.

[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2026-06-24 UTC."],[],[]]

Web Proxy Viewer  |  New URL  |  Original Page