SQLiteDatabase.OpenParams.Builder


public static final class SQLiteDatabase.OpenParams.Builder
extends Object

java.lang.Object
   ↳ android.database.sqlite.SQLiteDatabase.OpenParams.Builder


Builder for OpenParams.

Summary

Public constructors

Builder()
Builder(SQLiteDatabase.OpenParams params)

Public methods

SQLiteDatabase.OpenParams.Builder addOpenFlags(int openFlags)

Adds flags to control database access mode

SQLiteDatabase.OpenParams build()

Creates an instance of OpenParams with the options that were previously set on this builder

SQLiteDatabase.OpenParams.Builder removeOpenFlags(int openFlags)

Removes database access mode flags

SQLiteDatabase.OpenParams.Builder setCursorFactory(SQLiteDatabase.CursorFactory cursorFactory)

Set an optional factory class that is called to instantiate a cursor when query is called.

SQLiteDatabase.OpenParams.Builder setErrorHandler(DatabaseErrorHandler errorHandler)

Sets DatabaseErrorHandler object to handle db corruption errors

SQLiteDatabase.OpenParams.Builder setIdleConnectionTimeout(long idleConnectionTimeoutMs)

This method was deprecated in API level 29. DO NOT USE this method. See the javadoc for the details.

SQLiteDatabase.OpenParams.Builder setJournalMode(String journalMode)

Sets journal mode to use.

SQLiteDatabase.OpenParams.Builder setLookasideConfig(int slotSize, int slotCount)

Configures lookaside memory allocator

SQLite default settings will be used, if this method isn't called.

SQLiteDatabase.OpenParams.Builder setOpenFlags(int openFlags)

Sets flags to control database access mode

SQLiteDatabase.OpenParams.Builder setSynchronousMode(String syncMode)

Sets synchronous mode

Note: If sync mode is not set, the platform will use a manufactured-specified default which can vary across devices.

Inherited methods

Public constructors

Builder

Added in API level 27
public Builder ()

Builder

Added in API level 27
public Builder (SQLiteDatabase.OpenParams params)

Parameters
params SQLiteDatabase.OpenParams

Public methods

addOpenFlags

Added in API level 27
public SQLiteDatabase.OpenParams.Builder addOpenFlags (int openFlags)

Adds flags to control database access mode

Parameters
openFlags int: The new flags to add Value is either 0 or a combination of SQLiteDatabase.OPEN_READWRITE, SQLiteDatabase.OPEN_READONLY, SQLiteDatabase.CREATE_IF_NECESSARY, SQLiteDatabase.NO_LOCALIZED_COLLATORS, and SQLiteDatabase.ENABLE_WRITE_AHEAD_LOGGING

Returns
SQLiteDatabase.OpenParams.Builder same builder instance for chaining multiple calls into a single statement This value cannot be null.

build

Added in API level 27
public SQLiteDatabase.OpenParams build ()

Creates an instance of OpenParams with the options that were previously set on this builder

Returns
SQLiteDatabase.OpenParams This value cannot be null.

removeOpenFlags

Added in API level 27
public SQLiteDatabase.OpenParams.Builder removeOpenFlags (int openFlags)

Removes database access mode flags

Parameters
openFlags int: Flags to remove Value is either 0 or a combination of SQLiteDatabase.OPEN_READWRITE, SQLiteDatabase.OPEN_READONLY, SQLiteDatabase.CREATE_IF_NECESSARY, SQLiteDatabase.NO_LOCALIZED_COLLATORS, and SQLiteDatabase.ENABLE_WRITE_AHEAD_LOGGING

Returns
SQLiteDatabase.OpenParams.Builder same builder instance for chaining multiple calls into a single statement This value cannot be null.

setCursorFactory

Added in API level 27
public SQLiteDatabase.OpenParams.Builder setCursorFactory (SQLiteDatabase.CursorFactory cursorFactory)

Set an optional factory class that is called to instantiate a cursor when query is called.

Parameters
cursorFactory SQLiteDatabase.CursorFactory: instance This value may be null.

Returns
SQLiteDatabase.OpenParams.Builder same builder instance for chaining multiple calls into a single statement This value cannot be null.

setErrorHandler

Added in API level 27
public SQLiteDatabase.OpenParams.Builder setErrorHandler (DatabaseErrorHandler errorHandler)

Sets DatabaseErrorHandler object to handle db corruption errors

Parameters
errorHandler DatabaseErrorHandler: This value may be null.

Returns
SQLiteDatabase.OpenParams.Builder This value cannot be null.

setIdleConnectionTimeout

Added in API level 27
Deprecated in API level 29
public SQLiteDatabase.OpenParams.Builder setIdleConnectionTimeout (long idleConnectionTimeoutMs)

This method was deprecated in API level 29.
DO NOT USE this method. See the javadoc for the details.

Sets the maximum number of milliseconds that SQLite connection is allowed to be idle before it is closed and removed from the pool.

DO NOT USE this method. This feature has negative side effects that are very hard to foresee.

A connection timeout allows the system to internally close a connection to a SQLite database after a given timeout, which is good for reducing app's memory consumption. However the side effect is it will reset all of SQLite's per-connection states, which are typically modified with a PRAGMA statement, and these states will not be restored when a connection is re-established internally, and the system does not provide a callback for an app to reconfigure a connection. This feature may only be used if an app relies on none of such per-connection states.

Parameters
idleConnectionTimeoutMs long: timeout in milliseconds. Use Long#MAX_VALUE to allow unlimited idle connections. Value is 0 or greater

Returns
SQLiteDatabase.OpenParams.Builder This value cannot be null.

setJournalMode

Added in API level 28
public SQLiteDatabase.OpenParams.Builder setJournalMode (String journalMode)

Sets journal mode to use.

Note: If journal mode is not set, the platform will use a manufactured-specified default which can vary across devices.

Parameters
journalMode String: Value is SQLiteDatabase.JOURNAL_MODE_WAL, SQLiteDatabase.JOURNAL_MODE_PERSIST, SQLiteDatabase.JOURNAL_MODE_TRUNCATE, SQLiteDatabase.JOURNAL_MODE_MEMORY, SQLiteDatabase.JOURNAL_MODE_DELETE, or SQLiteDatabase.JOURNAL_MODE_OFF This value cannot be null.

Returns
SQLiteDatabase.OpenParams.Builder This value cannot be null.

setLookasideConfig

Added in API level 27
public SQLiteDatabase.OpenParams.Builder setLookasideConfig (int slotSize, 
                int slotCount)

Configures lookaside memory allocator

SQLite default settings will be used, if this method isn't called. Use setLookasideConfig(0,0) to disable lookaside

Note: Provided slotSize/slotCount configuration is just a recommendation. The system may choose different values depending on a device, e.g. lookaside allocations can be disabled on low-RAM devices

Parameters
slotSize int: The size in bytes of each lookaside slot. Value is 0 or greater

slotCount int: The total number of lookaside memory slots per database connection. Value is 0 or greater

Returns
SQLiteDatabase.OpenParams.Builder

setOpenFlags

Added in API level 27
public SQLiteDatabase.OpenParams.Builder setOpenFlags (int openFlags)

Sets flags to control database access mode

Parameters
openFlags int: The new flags to set Value is either 0 or a combination of SQLiteDatabase.OPEN_READWRITE, SQLiteDatabase.OPEN_READONLY, SQLiteDatabase.CREATE_IF_NECESSARY, SQLiteDatabase.NO_LOCALIZED_COLLATORS, and SQLiteDatabase.ENABLE_WRITE_AHEAD_LOGGING

Returns
SQLiteDatabase.OpenParams.Builder same builder instance for chaining multiple calls into a single statement This value cannot be null.

setSynchronousMode

Added in API level 28
public SQLiteDatabase.OpenParams.Builder setSynchronousMode (String syncMode)

Sets synchronous mode

Note: If sync mode is not set, the platform will use a manufactured-specified default which can vary across devices.

Parameters
syncMode String: Value is SQLiteDatabase.SYNC_MODE_EXTRA, SQLiteDatabase.SYNC_MODE_FULL, SQLiteDatabase.SYNC_MODE_NORMAL, or SQLiteDatabase.SYNC_MODE_OFF This value cannot be null.

Returns
SQLiteDatabase.OpenParams.Builder This value cannot be null.