Android
android.content
public class

android.content.ContentQueryMap

java.lang.Object
java.util.Observable
android.content.ContentQueryMap

Caches the contents of a cursor into a Map of String->ContentValues and optionally keeps the cache fresh by registering for updates on the content backing the cursor. The column of the database that is to be used as the key of the map is user-configurable, and the ContentValues contains all columns other than the one that is designated the key.

The cursor data is accessed by row key and column name via getValue().

Summary

Public Constructors

            ContentQueryMap(Cursor cursor, String columnNameOfKey, boolean keepUpdated, Handler handlerForUpdateNotifications)
Creates a ContentQueryMap that caches the content backing the cursor

Public Methods

  synchronized        void  close()
  synchronized        Map<StringContentValues getRows()
  synchronized        ContentValues  getValues(String rowName)
Access the ContentValues for the row specified by rowName
          void  requery()
Requeries the cursor and reads the contents into the cache
          void  setKeepUpdated(boolean keepUpdated)
Change whether or not the ContentQueryMap will register with the cursor's ContentProvider for change notifications.

Protected Methods

          void  finalize()
Called by the virtual machine when there are no longer any (non-weak) references to the receiver.
Methods inherited from class java.util.Observable
Methods inherited from class java.lang.Object

Details

Public Constructors

public ContentQueryMap(Cursor cursor, String columnNameOfKey, boolean keepUpdated, Handler handlerForUpdateNotifications)

Creates a ContentQueryMap that caches the content backing the cursor

Parameters

cursor the cursor whose contents should be cached
columnNameOfKey the column that is to be used as the key of the values map
keepUpdated true if the cursor's ContentProvider should be monitored for changes and the map updated when changes do occur
handlerForUpdateNotifications the Handler that should be used to receive notifications of changes (if requested). Normally you pass null here, but if you know that the thread that is creating this isn't a thread that can receive messages then you can create your own handler and use that here.

Public Methods

public synchronized void close()

public synchronized Map<StringContentValues> getRows()

public synchronized ContentValues getValues(String rowName)

Access the ContentValues for the row specified by rowName

Parameters

rowName which row to read

Returns

  • the ContentValues for the row, or null if the row wasn't present in the cursor

public void requery()

Requeries the cursor and reads the contents into the cache

public void setKeepUpdated(boolean keepUpdated)

Change whether or not the ContentQueryMap will register with the cursor's ContentProvider for change notifications. If you use a ContentQueryMap in an activity you should call this with false in onPause(), which means you need to call it with true in onResume() if want it to be kept updated.

Parameters

keepUpdated if true the ContentQueryMap should be registered with the cursor's ContentProvider, false otherwise

Protected Methods

protected void finalize()

Called by the virtual machine when there are no longer any (non-weak) references to the receiver. Subclasses can use this facility to guarantee that any associated resources are cleaned up before the receiver is garbage collected. Uncaught exceptions which are thrown during the running of the method cause it to terminate immediately, but are otherwise ignored.

Note: The virtual machine assumes that the implementation in class Object is empty.

Throws

Throwable
Copyright 2007 Google Inc. Build 0.9_r1-98467 - 14 Aug 2008 18:56