public class ContentQueryMap
extends Observable
java.lang.Object | ||
↳ | java.util.Observable | |
↳ | android.content.ContentQueryMap |
将光标的内容缓存到String-> ContentValues的Map中,并通过注册支持光标的内容的更新来选择性地保持缓存的新鲜度。 要用作映射关键字的数据库列是用户可配置的,并且ContentValues包含除指定关键字之外的所有列。
游标数据通过getValue()通过行键和列名访问。
Public constructors |
|
---|---|
ContentQueryMap(Cursor cursor, String columnNameOfKey, boolean keepUpdated, Handler handlerForUpdateNotifications) 创建一个ContentQueryMap,用于缓存支持游标的内容 |
Public methods |
|
---|---|
void |
close() |
Map<String, ContentValues> |
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
|
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. |
Map<String, ContentValues> getRows ()
Returns | |
---|---|
Map<String, ContentValues> |
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 |
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 |
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 |