# ContentObservable

Added in[API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  
Summary:[Inherited Fields](https://developer.android.com/reference/android/database/ContentObservable#inhfields)\|[Ctors](https://developer.android.com/reference/android/database/ContentObservable#pubctors)\|[Methods](https://developer.android.com/reference/android/database/ContentObservable#pubmethods)\|[Inherited Methods](https://developer.android.com/reference/android/database/ContentObservable#inhmethods)  

# ContentObservable

*** ** * ** ***

[Kotlin](https://developer.android.com/reference/kotlin/android/database/ContentObservable "View this page in Kotlin")\|Java

`
public


class
ContentObservable
`  
`


``

extends `[Observable](https://developer.android.com/reference/android/database/Observable)`<`[ContentObserver](https://developer.android.com/reference/android/database/ContentObserver)`>


``


`

|---|---|------------------------------------|
| [java.lang.Object](https://developer.android.com/reference/java/lang/Object) |||
| ↳ | [android.database.Observable](https://developer.android.com/reference/android/database/Observable)\<[android.database.ContentObserver](https://developer.android.com/reference/android/database/ContentObserver)\> ||
|   | ↳ | android.database.ContentObservable |

<br />

*** ** * ** ***

A specialization of[Observable](https://developer.android.com/reference/android/database/Observable)for[ContentObserver](https://developer.android.com/reference/android/database/ContentObserver)that provides methods for sending notifications to a list of[ContentObserver](https://developer.android.com/reference/android/database/ContentObserver)objects.

## Summary

|                                                                                                                                                                                                                                                                        ### Inherited fields                                                                                                                                                                                                                                                                        |
|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| From class[android.database.Observable](https://developer.android.com/reference/android/database/Observable) |--------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------| | ` protected final `[ArrayList](https://developer.android.com/reference/java/util/ArrayList)`<T>` | [mObservers](https://developer.android.com/reference/android/database/Observable#mObservers) The list of observers. | |

|                                                    ### Public constructors                                                     ||
|-----------------------------------------------------------------------------------------------------------------------------|---|
| ` `[ContentObservable](https://developer.android.com/reference/android/database/ContentObservable#ContentObservable())`() ` |

|                                                                                                                                                                                                              ### Public methods                                                                                                                                                                                                              ||
|---------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| ` void` | ` `[dispatchChange](https://developer.android.com/reference/android/database/ContentObservable#dispatchChange(boolean))`(boolean selfChange) ` *This method was deprecated in API level 16. Use[dispatchChange(boolean, android.net.Uri)](https://developer.android.com/reference/android/database/ContentObservable#dispatchChange(boolean,%20android.net.Uri))instead.*                                                           |
| ` void` | ` `[dispatchChange](https://developer.android.com/reference/android/database/ContentObservable#dispatchChange(boolean,%20android.net.Uri))`(boolean selfChange, `[Uri](https://developer.android.com/reference/android/net/Uri)` uri) ` Invokes[ContentObserver.dispatchChange(boolean, Uri)](https://developer.android.com/reference/android/database/ContentObserver#dispatchChange(boolean,%20android.net.Uri))on each observer. |
| ` void` | ` `[notifyChange](https://developer.android.com/reference/android/database/ContentObservable#notifyChange(boolean))`(boolean selfChange) ` *This method was deprecated in API level 16. Use[dispatchChange(boolean)](https://developer.android.com/reference/android/database/ContentObservable#dispatchChange(boolean))instead.*                                                                                                   |
| ` void` | ` `[registerObserver](https://developer.android.com/reference/android/database/ContentObservable#registerObserver(android.database.ContentObserver))`(`[ContentObserver](https://developer.android.com/reference/android/database/ContentObserver)` observer) ` Adds an observer to the list.                                                                                                                                       |

| ### Inherited methods |
|-----------------------|---|
| From class` `[android.database.Observable](https://developer.android.com/reference/android/database/Observable)` ` |---------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | ` void` | ` `[registerObserver](https://developer.android.com/reference/android/database/Observable#registerObserver(T))`(`[ContentObserver](https://developer.android.com/reference/android/database/ContentObserver)` observer) ` Adds an observer to the list.                 | | ` void` | ` `[unregisterAll](https://developer.android.com/reference/android/database/Observable#unregisterAll())`() ` Remove all registered observers.                                                                                                                           | | ` void` | ` `[unregisterObserver](https://developer.android.com/reference/android/database/Observable#unregisterObserver(T))`(`[ContentObserver](https://developer.android.com/reference/android/database/ContentObserver)` observer) ` Removes a previously registered observer. | ||
| From class` `[java.lang.Object](https://developer.android.com/reference/java/lang/Object)` ` |--------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | ` `[Object](https://developer.android.com/reference/java/lang/Object)          | ` `[clone](https://developer.android.com/reference/java/lang/Object#clone())`() ` Creates and returns a copy of this object.                                                                                                                                                      | | ` boolean`                                                                     | ` `[equals](https://developer.android.com/reference/java/lang/Object#equals(java.lang.Object))`(`[Object](https://developer.android.com/reference/java/lang/Object)` obj) ` Indicates whether some other object is "equal to" this one.                                           | | ` void`                                                                        | ` `[finalize](https://developer.android.com/reference/java/lang/Object#finalize())`() ` Called by the garbage collector on an object when garbage collection determines that there are no more references to the object.                                                          | | ` final `[Class](https://developer.android.com/reference/java/lang/Class)`<?>` | ` `[getClass](https://developer.android.com/reference/java/lang/Object#getClass())`() ` Returns the runtime class of this`Object`.                                                                                                                                                | | ` int`                                                                         | ` `[hashCode](https://developer.android.com/reference/java/lang/Object#hashCode())`() ` Returns a hash code value for the object.                                                                                                                                                 | | ` final void`                                                                  | ` `[notify](https://developer.android.com/reference/java/lang/Object#notify())`() ` Wakes up a single thread that is waiting on this object's monitor.                                                                                                                            | | ` final void`                                                                  | ` `[notifyAll](https://developer.android.com/reference/java/lang/Object#notifyAll())`() ` Wakes up all threads that are waiting on this object's monitor.                                                                                                                         | | ` `[String](https://developer.android.com/reference/java/lang/String)          | ` `[toString](https://developer.android.com/reference/java/lang/Object#toString())`() ` Returns a string representation of the object.                                                                                                                                            | | ` final void`                                                                  | ` `[wait](https://developer.android.com/reference/java/lang/Object#wait(long,%20int))`(long timeoutMillis, int nanos) ` Causes the current thread to wait until it is awakened, typically by being*notified* or*interrupted*, or until a certain amount of real time has elapsed. | | ` final void`                                                                  | ` `[wait](https://developer.android.com/reference/java/lang/Object#wait(long))`(long timeoutMillis) ` Causes the current thread to wait until it is awakened, typically by being*notified* or*interrupted*, or until a certain amount of real time has elapsed.                   | | ` final void`                                                                  | ` `[wait](https://developer.android.com/reference/java/lang/Object#wait())`() ` Causes the current thread to wait until it is awakened, typically by being*notified* or*interrupted*.                                                                                             | ||

## Public constructors

### ContentObservable

```
public ContentObservable ()
```

<br />

<br />

## Public methods

### dispatchChange

Added in[API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  
Deprecated in[API level 16](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public void dispatchChange (boolean selfChange)
```

<br />

**This method was deprecated in API level 16.**   
Use[dispatchChange(boolean, android.net.Uri)](https://developer.android.com/reference/android/database/ContentObservable#dispatchChange(boolean,%20android.net.Uri))instead.

Invokes[ContentObserver.dispatchChange(boolean)](https://developer.android.com/reference/android/database/ContentObserver#dispatchChange(boolean))on each observer.

If`selfChange`is true, only delivers the notification to the observer if it has indicated that it wants to receive self-change notifications by implementing[ContentObserver.deliverSelfNotifications](https://developer.android.com/reference/android/database/ContentObserver#deliverSelfNotifications())to return true.

<br />

<br />

|                                 Parameters                                  ||
|--------------|---------------------------------------------------------------|
| `selfChange` | `boolean`: True if this is a self-change notification. <br /> |

### dispatchChange

Added in[API level 16](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public void dispatchChange (boolean selfChange, 
                Uri uri)
```

Invokes[ContentObserver.dispatchChange(boolean, Uri)](https://developer.android.com/reference/android/database/ContentObserver#dispatchChange(boolean,%20android.net.Uri))on each observer. Includes the changed content Uri when available.

If`selfChange`is true, only delivers the notification to the observer if it has indicated that it wants to receive self-change notifications by implementing[ContentObserver.deliverSelfNotifications](https://developer.android.com/reference/android/database/ContentObserver#deliverSelfNotifications())to return true.

<br />

<br />

|                                   Parameters                                    ||
|--------------|-------------------------------------------------------------------|
| `selfChange` | `boolean`: True if this is a self-change notification. <br />     |
| `uri`        | `Uri`: The Uri of the changed content, or null if unknown. <br /> |

### notifyChange

Added in[API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  
Deprecated in[API level 16](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public void notifyChange (boolean selfChange)
```

<br />

**This method was deprecated in API level 16.**   
Use[dispatchChange(boolean)](https://developer.android.com/reference/android/database/ContentObservable#dispatchChange(boolean))instead.

Invokes[ContentObserver.onChange](https://developer.android.com/reference/android/database/ContentObserver#onChange(boolean))on each observer.

<br />

|                                 Parameters                                  ||
|--------------|---------------------------------------------------------------|
| `selfChange` | `boolean`: True if this is a self-change notification. <br /> |

### registerObserver

Added in[API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public void registerObserver (ContentObserver observer)
```

Adds an observer to the list. The observer cannot be null and it must not already be registered.

<br />

|                           Parameters                           ||
|------------|----------------------------------------------------|
| `observer` | `ContentObserver`: the observer to register <br /> |