Most visited

Recently visited

Added in API level 1

ContentQueryMap

public class ContentQueryMap
extends Observable

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


将光标的内容缓存到String-> ContentValues的Map中,并通过注册支持光标的内容的更新来选择性地保持缓存的新鲜度。 要用作映射关键字的数据库列是用户可配置的,并且ContentValues包含除指定关键字之外的所有列。

游标数据通过getValue()通过行键和列名访问。

Summary

Public constructors

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

创建一个ContentQueryMap,用于缓存支持游标的内容

Public methods

void close()
Map<StringContentValues> getRows()
ContentValues getValues(String rowName)

访问由rowName指定的行的ContentValues

void requery()

请求游标并将内容读入缓存

void setKeepUpdated(boolean keepUpdated)

更改ContentQueryMap是否向游标的ContentProvider注册更改通知。

Protected methods

void finalize()

当垃圾收集确定没有更多对该对象的引用时,由对象上的垃圾回收器调用。

Inherited methods

From class java.util.Observable
From class java.lang.Object

Public constructors

ContentQueryMap

Added in API level 1
ContentQueryMap (Cursor cursor, 
                String columnNameOfKey, 
                boolean keepUpdated, 
                Handler handlerForUpdateNotifications)

创建一个ContentQueryMap,用于缓存支持游标的内容

Parameters
cursor Cursor: the cursor whose contents should be cached
columnNameOfKey String: the column that is to be used as the key of the values map
keepUpdated boolean: true if the cursor's ContentProvider should be monitored for changes and the map updated when changes do occur
handlerForUpdateNotifications Handler: 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

close

Added in API level 1
void close ()

getRows

Added in API level 1
Map<StringContentValues> getRows ()

Returns
Map<StringContentValues>

getValues

Added in API level 1
ContentValues getValues (String rowName)

访问由rowName指定的行的ContentValues

Parameters
rowName String: which row to read
Returns
ContentValues the ContentValues for the row, or null if the row wasn't present in the cursor

requery

Added in API level 1
void requery ()

请求游标并将内容读入缓存

setKeepUpdated

Added in API level 1
void setKeepUpdated (boolean keepUpdated)

更改ContentQueryMap是否向游标的ContentProvider注册更改通知。 如果你在一个活动中使用ContentQueryMap,你应该在onPause()中用false调用它,这意味着如果需要保持更新,你需要在onResume()中用true调用它。

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

Protected methods

finalize

Added in API level 1
void finalize ()

当垃圾收集确定没有更多对该对象的引用时,由对象上的垃圾回收器调用。 子类会覆盖finalize方法以处置系统资源或执行其他清理。

的常规协定finalize是,它被调用,如果当在Java TM虚拟机已确定不再有由该目的可以通过还没有死亡,除了作为一个动作的结果的任何线程访问的任何手段取决于某些其他可以完成的对象或类别的最终定稿。 finalize方法可以采取任何行动,包括再制作该对象提供给其他线程; 然而, finalize的通常目的是在对象不可撤销地丢弃之前执行清理操作。 例如,表示输入/输出连接的对象的finalize方法可能会执行显式I / O事务,以在永久丢弃该对象之前中断连接。

finalize方法Object执行特别的操作; 它只是正常返回。 Object子类可能会覆盖此定义。

Java编程语言不保证哪个线程将为任何给定对象调用finalize方法。 但是,保证调用finalize的线程在调用finalize时不会保留任何用户可见的同步锁。 如果finalize方法引发未捕获的异常,则忽略该异常,并终止该对象的终止。

finalize方法被调用的对象,没有进一步采取行动,直到Java虚拟机再次确定不再有通过这个对象可以通过尚未终止的任何线程,包括可能采取的行动进行访问的任何手段通过准备完成的其他对象或类别,此时该对象可能被丢弃。

对于任何给定对象,Java虚拟机永远不会多次调用 finalize方法。

finalize方法抛出的任何异常 finalize导致此对象的终止被暂停,但在其他情况下会被忽略。

Throws
Throwable

Hooray!