androidx.room3


Annotations

AutoMigration

Declares an automatic migration on a Database.

BuiltInTypeConverters

Flags to turn on / off extra type converters provided by Room.

ColumnInfo

Allows specific customization about the column associated with the annotated property.

ColumnInfo.Collate
ColumnInfo.SQLiteTypeAffinity

The SQLite column type constants that can be used in ColumnInfo.typeAffinity

ConstructedBy

Defines the androidx.room3.RoomDatabaseConstructor that will instantiate the Room generated implementation of the annotated Database.

Dao

Marks the class as a Data Access Object.

DaoReturnTypeConverter

Marks a function as a DAO function return type converter.

DaoReturnTypeConverters

Specifies the classes that contain DAO return type converters that a RoomDatabase can use.

Database

Marks a class as a androidx.room3.RoomDatabase.

DatabaseView

Marks a class as an SQLite view.

Delete

Marks a function in a Dao annotated class as a delete function.

DeleteColumn

Repeatable annotation declaring the deleted columns in the AutoMigration.to version of an auto migration.

DeleteColumn.Entries

Container annotation for the repeatable annotation DeleteColumn.

DeleteTable

Repeatable annotation declaring the deleted tables in the AutoMigration.to version of an auto migration.

DeleteTable.Entries

Container annotation for the repeatable annotation DeleteTable.

Embedded

Marks a property of an Entity or data object to allow nested properties (i.e. properties of the annotated property's class) to be referenced directly in the SQL queries.

Entity

Marks a class as an entity.

ExperimentalRoomApi

Marks declarations that are experimental in Room's APIs, which means that the design of the corresponding declarations may (or may not) lead to their changes in the future.

ForeignKey

Declares a foreign key on another Entity.

ForeignKey.Action

Constants definition for values that can be used in onDelete and onUpdate.

Fts3

Marks an Entity annotated class as a FTS3 entity.

Fts4

Marks an Entity annotated class as a FTS4 entity.

Ignore

Ignores the marked element from Room's processing logic.

Index

Declares an index on an Entity.

Insert

Marks a function in a Dao annotated class as an insert function.

Junction

Declares a junction to be used for joining a relationship.

MapColumn

Declares which column is used to build a map or multimap return value in a Dao query function.

OnConflictStrategy

Set of conflict handling strategies for various Dao functions.

PrimaryKey

Marks a property in an Entity as the primary key.

ProvidedAutoMigrationSpec

Marks a androidx.room3.migration.AutoMigrationSpec class that will be provided to Room at runtime.

ProvidedTypeConverter

Marks a class containing TypeConverter functions that will be provided to Room at runtime.

Query

Marks a function in a Dao annotated class as a query function.

RawQuery

Marks a function in a Dao annotated class as a raw query function where the query is pass as a parameter of types androidx.room3.RoomRawQuery or androidx.sqlite.db.SupportSQLiteQuery.

Relation

A convenience annotation which can be used in a data object class to automatically fetch relation entities.

RenameColumn

Repeatable annotation declaring the renamed columns in the AutoMigration.to version of an auto migration.

RenameColumn.Entries

Container annotation for the repeatable annotation RenameColumn.

RenameTable

Repeatable annotation declaring the renamed tables in the new version of an auto migration.

RenameTable.Entries

Container annotation for the repeatable annotation RenameTable.

RewriteQueriesToDropUnusedColumns

When present, RewriteQueriesToDropUnusedColumns annotation will cause Room to rewrite your Query functions such that only the columns that are used in the return type are queried from the database.

SkipQueryVerification

Skips database verification for the annotated element.

Transaction

Marks a function in a Dao class as a transaction function.

TypeConverter

Marks a function as a type converter.

TypeConverters

Specifies additional type converters that Room can use.

Update

Marks a function in a Dao annotated class as an update function.

Upsert

Marks a function in a Dao annotated class as an upsert (insert or update) function.

Interfaces

PooledConnection

A wrapper of SQLiteConnection that belongs to a connection pool and is safe to use in a coroutine.

RoomDatabaseConstructor

Defines a class that can instantiate the Room generated implementation of an 'abstract' Database annotated RoomDatabase definition.

RoomOpenDelegateMarker

Marker interface for Room's code generated delegate.

TransactionScope

A PooledConnection with an active transaction capable of performing nested transactions.

Transactor

A PooledConnection that can perform transactions.

Classes

DatabaseConfiguration

Configuration class for a RoomDatabase.

InvalidationTracker

The invalidation tracker keeps track of tables modified by queries and notifies its created Flows about such modifications.

MultiInstanceInvalidationService

A Service for remote invalidation among multiple InvalidationTracker instances.

RoomDatabase

Base class for all Room databases.

RoomDatabase.Builder

Builder for RoomDatabase.

RoomDatabase.Callback

Callback for RoomDatabase

RoomDatabase.MigrationContainer

A container to hold migrations.

RoomDatabase.PrepackagedDatabaseCallback

Callback for Builder.createFromAsset, Builder.createFromFile and Builder.createFromInputStream

RoomDatabaseKt
RoomRawQuery

A query with an argument binding function.

TransactorKt
FtsOptions

Available option values that can be used with Fts3&Fts4.

Room

Entry point for building and initializing a RoomDatabase.

RoomWarnings

The list of warnings that are produced by Room.

Enums

BuiltInTypeConverters.State

Control flags for built-in converters.

FtsOptions.MatchInfo
FtsOptions.Order
Index.Order
OperationType

Describes the type of database operation a DaoReturnTypeConverter function supports.

RoomDatabase.JournalMode

Journal modes for SQLite database.

Transactor.SQLiteTransactionType

Transaction types.