InvalidationTracker
public
class
InvalidationTracker
extends Object
java.lang.Object
|
↳ |
android.arch.persistence.room.InvalidationTracker
|
InvalidationTracker keeps a list of tables modified by queries and notifies its callbacks about
these tables.
Summary
Nested classes |
class |
InvalidationTracker.Observer
An observer that can listen for changes in the database.
|
Inherited methods |
From class
java.lang.Object
Object
|
clone()
|
boolean
|
equals(Object arg0)
|
void
|
finalize()
|
final
Class<?>
|
getClass()
|
int
|
hashCode()
|
final
void
|
notify()
|
final
void
|
notifyAll()
|
String
|
toString()
|
final
void
|
wait(long arg0, int arg1)
|
final
void
|
wait(long arg0)
|
final
void
|
wait()
|
|
Public methods
addObserver
void addObserver (InvalidationTracker.Observer observer)
Adds the given observer to the observers list and it will be notified if any table it
observes changes.
Database changes are pulled on another thread so in some race conditions, the observer might
be invoked for changes that were done before it is added.
If the observer already exists, this is a no-op call.
If one of the tables in the Observer does not exist in the database, this method throws an
IllegalArgumentException
.
Parameters |
observer |
InvalidationTracker.Observer : The observer which listens the database for changes.
|
refreshVersionsAsync
void refreshVersionsAsync ()
Enqueues a task to refresh the list of updated tables.
This method is automatically called when endTransaction()
is called but
if you have another connection to the database or directly use SupportSQLiteDatabase
, you may need to call this manually.
removeObserver
void removeObserver (InvalidationTracker.Observer observer)
Removes the observer from the observers list.
Parameters |
observer |
InvalidationTracker.Observer : The observer to remove.
|
Annotations
Classes
Enums
Exceptions
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 2025-02-10 UTC.
[null,null,["Last updated 2025-02-10 UTC."],[],[],null,["# InvalidationTracker\n\nadded in [version 1.1.0](/topic/libraries/support-library/revisions) \nbelongs to Maven artifact android.arch.persistence.room:runtime:1.1.0-beta2 \nSummary: [Nested Classes](#nestedclasses) \\| [Methods](#pubmethods) \\| [Inherited Methods](#inhmethods) \n\nInvalidationTracker\n===================\n\n| The `android.arch` Architecture Components packages are no longer maintained. They have been superseded by the corresponding [androidx.\\*](/jetpack/androidx/migrate) packages. See [androidx.room.InvalidationTracker](/reference/androidx/room/InvalidationTracker) instead.\n\n\n`\npublic\n\n\nclass\nInvalidationTracker\n`\n\n\n`\n\nextends Object\n\n\n`\n\n`\n\n\n`\n\n|---|---------------------------------------------------|\n| java.lang.Object ||\n| ↳ | android.arch.persistence.room.InvalidationTracker |\n\n\u003cbr /\u003e\n\n*** ** * ** ***\n\nInvalidationTracker keeps a list of tables modified by queries and notifies its callbacks about\nthese tables.\n\nSummary\n-------\n\n| ### Nested classes ||\n|----------|----------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| ` class` | [InvalidationTracker.Observer](/reference/android/arch/persistence/room/InvalidationTracker.Observer) An observer that can listen for changes in the database. |\n\n| ### Public methods ||\n|---------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| ` void` | ` `[addObserver](/reference/android/arch/persistence/room/InvalidationTracker#addObserver(android.arch.persistence.room.InvalidationTracker.Observer))`(`[InvalidationTracker.Observer](/reference/android/arch/persistence/room/InvalidationTracker.Observer)` observer) ` Adds the given observer to the observers list and it will be notified if any table it observes changes. |\n| ` void` | ` `[refreshVersionsAsync](/reference/android/arch/persistence/room/InvalidationTracker#refreshVersionsAsync())`() ` Enqueues a task to refresh the list of updated tables. |\n| ` void` | ` `[removeObserver](/reference/android/arch/persistence/room/InvalidationTracker#removeObserver(android.arch.persistence.room.InvalidationTracker.Observer))`(`[InvalidationTracker.Observer](/reference/android/arch/persistence/room/InvalidationTracker.Observer)` observer) ` Removes the observer from the observers list. |\n\n| ### Inherited methods |\n|-----------------------|---|\n| From class ` java.lang.Object ` |-------------------|-------------------------------| | ` Object` | ` clone() ` | | ` boolean` | ` equals(Object arg0) ` | | ` void` | ` finalize() ` | | ` final Class\u003c?\u003e` | ` getClass() ` | | ` int` | ` hashCode() ` | | ` final void` | ` notify() ` | | ` final void` | ` notifyAll() ` | | ` String` | ` toString() ` | | ` final void` | ` wait(long arg0, int arg1) ` | | ` final void` | ` wait(long arg0) ` | | ` final void` | ` wait() ` | ||\n\nPublic methods\n--------------\n\n### addObserver\n\nadded in [version 1.1.0](/topic/libraries/support-library/revisions) \n\n```\nvoid addObserver (InvalidationTracker.Observer observer)\n```\n\nAdds the given observer to the observers list and it will be notified if any table it\nobserves changes.\n\n\nDatabase changes are pulled on another thread so in some race conditions, the observer might\nbe invoked for changes that were done before it is added.\n\n\nIf the observer already exists, this is a no-op call.\n\n\nIf one of the tables in the Observer does not exist in the database, this method throws an\n[IllegalArgumentException](/reference/java/lang/IllegalArgumentException).\n\n\u003cbr /\u003e\n\n| Parameters ||\n|------------|---------------------------------------------------------------------------------------------|\n| `observer` | `InvalidationTracker.Observer`: The observer which listens the database for changes. \u003cbr /\u003e |\n\n### refreshVersionsAsync\n\nadded in [version 1.1.0](/topic/libraries/support-library/revisions) \n\n```\nvoid refreshVersionsAsync ()\n```\n\nEnqueues a task to refresh the list of updated tables.\n\n\nThis method is automatically called when [endTransaction()](/reference/android/arch/persistence/room/RoomDatabase#endTransaction()) is called but\nif you have another connection to the database or directly use [SupportSQLiteDatabase](/reference/android/arch/persistence/db/SupportSQLiteDatabase), you may need to call this manually.\n\n\u003cbr /\u003e\n\n### removeObserver\n\nadded in [version 1.1.0](/topic/libraries/support-library/revisions) \n\n```\nvoid removeObserver (InvalidationTracker.Observer observer)\n```\n\nRemoves the observer from the observers list.\n\n\u003cbr /\u003e\n\n| Parameters ||\n|------------|----------------------------------------------------------------|\n| `observer` | `InvalidationTracker.Observer`: The observer to remove. \u003cbr /\u003e |\n\n-\n\n Annotations\n -----------\n\n - [ColumnInfo](/reference/android/arch/persistence/room/ColumnInfo)\n - [ColumnInfo.Collate](/reference/android/arch/persistence/room/ColumnInfo.Collate)\n - [ColumnInfo.SQLiteTypeAffinity](/reference/android/arch/persistence/room/ColumnInfo.SQLiteTypeAffinity)\n - [Dao](/reference/android/arch/persistence/room/Dao)\n - [Database](/reference/android/arch/persistence/room/Database)\n - [Delete](/reference/android/arch/persistence/room/Delete)\n - [Embedded](/reference/android/arch/persistence/room/Embedded)\n - [Entity](/reference/android/arch/persistence/room/Entity)\n - [ForeignKey](/reference/android/arch/persistence/room/ForeignKey)\n - [ForeignKey.Action](/reference/android/arch/persistence/room/ForeignKey.Action)\n - [Ignore](/reference/android/arch/persistence/room/Ignore)\n - [Index](/reference/android/arch/persistence/room)\n - [Insert](/reference/android/arch/persistence/room/Insert)\n - [OnConflictStrategy](/reference/android/arch/persistence/room/OnConflictStrategy)\n - [PrimaryKey](/reference/android/arch/persistence/room/PrimaryKey)\n - [Query](/reference/android/arch/persistence/room/Query)\n - [RawQuery](/reference/android/arch/persistence/room/RawQuery)\n - [Relation](/reference/android/arch/persistence/room/Relation)\n - [SkipQueryVerification](/reference/android/arch/persistence/room/SkipQueryVerification)\n - [Transaction](/reference/android/arch/persistence/room/Transaction)\n - [TypeConverter](/reference/android/arch/persistence/room/TypeConverter)\n - [TypeConverters](/reference/android/arch/persistence/room/TypeConverters)\n - [Update](/reference/android/arch/persistence/room/Update)\n-\n\n Classes\n -------\n\n - [DatabaseConfiguration](/reference/android/arch/persistence/room/DatabaseConfiguration)\n - [InvalidationTracker](/reference/android/arch/persistence/room/InvalidationTracker)\n - [InvalidationTracker.Observer](/reference/android/arch/persistence/room/InvalidationTracker.Observer)\n - [Room](/reference/android/arch/persistence/room/Room)\n - [RoomDatabase](/reference/android/arch/persistence/room/RoomDatabase)\n - [RoomDatabase.Builder](/reference/android/arch/persistence/room/RoomDatabase.Builder)\n - [RoomDatabase.Callback](/reference/android/arch/persistence/room/RoomDatabase.Callback)\n - [RoomDatabase.MigrationContainer](/reference/android/arch/persistence/room/RoomDatabase.MigrationContainer)\n - [RoomWarnings](/reference/android/arch/persistence/room/RoomWarnings)\n - [RxRoom](/reference/android/arch/persistence/room/RxRoom)\n-\n\n Enums\n -----\n\n - [RoomDatabase.JournalMode](/reference/android/arch/persistence/room/RoomDatabase.JournalMode)\n-\n\n Exceptions\n ----------\n\n - [EmptyResultSetException](/reference/android/arch/persistence/room/EmptyResultSetException)"]]