public class ContentProviderClient
extends Object
implements AutoCloseable
java.lang.Object | |
↳ | android.content.ContentProviderClient |
用于与特定的 ContentProvider
交互的公共接口对象。
实例可以通过调用acquireContentProviderClient(Uri)
或acquireUnstableContentProviderClient(Uri)
来获得。 必须使用close()
释放实例,以便向系统表明不再需要潜在的ContentProvider
,并且可以杀死以释放资源。
请注意,您通常应为每个将执行操作的线程创建一个新的ContentProviderClient实例。 与ContentResolver
不同,此处的方法(例如query(Uri, String[], String, String[], String)
和openFile(Uri, String)
不是线程安全的 - 您不得在ContentProviderClient上调用close()
这些调用,直到您完成返回的数据。
Protected methods |
|
---|---|
void |
finalize() 当垃圾收集确定没有更多对该对象的引用时,由对象上的垃圾回收器调用。 |
Inherited methods |
|
---|---|
From class java.lang.Object
|
|
From interface java.lang.AutoCloseable
|
ContentProviderResult[] applyBatch (ArrayList<ContentProviderOperation> operations)
Parameters | |
---|---|
operations |
ArrayList
|
Returns | |
---|---|
ContentProviderResult[] |
Throws | |
---|---|
RemoteException |
|
OperationApplicationException |
int bulkInsert (Uri url, ContentValues[] initialValues)
Parameters | |
---|---|
url |
Uri
|
initialValues |
ContentValues
|
Returns | |
---|---|
int |
Throws | |
---|---|
RemoteException |
Bundle call (String method, String arg, Bundle extras)
见 call(String, String, Bundle)
Parameters | |
---|---|
method |
String
|
arg |
String
|
extras |
Bundle
|
Returns | |
---|---|
Bundle |
Throws | |
---|---|
RemoteException |
Uri canonicalize (Uri url)
Parameters | |
---|---|
url |
Uri
|
Returns | |
---|---|
Uri |
Throws | |
---|---|
RemoteException |
int delete (Uri url, String selection, String[] selectionArgs)
Parameters | |
---|---|
url |
Uri
|
selection |
String
|
selectionArgs |
String
|
Returns | |
---|---|
int |
Throws | |
---|---|
RemoteException |
ContentProvider getLocalContentProvider ()
获取与此客户端关联的ContentProvider
的引用。 如果ContentProvider
正在不同的进程中运行,则返回null。 如果您知道您在与提供程序相同的进程中运行并希望直接访问其实现细节,则可以使用此方法。
Returns | |
---|---|
ContentProvider |
If the associated ContentProvider is local, returns it. Otherwise returns null. |
String[] getStreamTypes (Uri url, String mimeTypeFilter)
见 ContentProvider.getStreamTypes
Parameters | |
---|---|
url |
Uri
|
mimeTypeFilter |
String
|
Returns | |
---|---|
String[] |
Throws | |
---|---|
RemoteException |
String getType (Uri url)
Parameters | |
---|---|
url |
Uri
|
Returns | |
---|---|
String |
Throws | |
---|---|
RemoteException |
Uri insert (Uri url, ContentValues initialValues)
Parameters | |
---|---|
url |
Uri
|
initialValues |
ContentValues
|
Returns | |
---|---|
Uri |
Throws | |
---|---|
RemoteException |
AssetFileDescriptor openAssetFile (Uri url, String mode, CancellationSignal signal)
见ContentProvider.openAssetFile
。 请注意,这不涉及非内容:URI,例如file :. 强烈建议您改用ContentResolver.openAssetFileDescriptor
API。
Parameters | |
---|---|
url |
Uri
|
mode |
String
|
signal |
CancellationSignal
|
Returns | |
---|---|
AssetFileDescriptor |
Throws | |
---|---|
RemoteException |
|
FileNotFoundException |
AssetFileDescriptor openAssetFile (Uri url, String mode)
见ContentProvider.openAssetFile
。 请注意,这不涉及非内容:URI,例如file :. 强烈建议您改为使用ContentResolver.openAssetFileDescriptor
API。
Parameters | |
---|---|
url |
Uri
|
mode |
String
|
Returns | |
---|---|
AssetFileDescriptor |
Throws | |
---|---|
RemoteException |
|
FileNotFoundException |
ParcelFileDescriptor openFile (Uri url, String mode, CancellationSignal signal)
见ContentProvider.openFile
。 请注意,这不涉及非内容:URI,例如file :. 强烈建议您改用ContentResolver.openFileDescriptor
API。
Parameters | |
---|---|
url |
Uri
|
mode |
String
|
signal |
CancellationSignal
|
Returns | |
---|---|
ParcelFileDescriptor |
Throws | |
---|---|
RemoteException |
|
FileNotFoundException |
ParcelFileDescriptor openFile (Uri url, String mode)
见ContentProvider.openFile
。 请注意,这不涉及非内容:URI,例如file :. 强烈建议您使用ContentResolver.openFileDescriptor
API。
Parameters | |
---|---|
url |
Uri
|
mode |
String
|
Returns | |
---|---|
ParcelFileDescriptor |
Throws | |
---|---|
RemoteException |
|
FileNotFoundException |
AssetFileDescriptor openTypedAssetFileDescriptor (Uri uri, String mimeType, Bundle opts, CancellationSignal signal)
见 ContentProvider.openTypedAssetFile
Parameters | |
---|---|
uri |
Uri
|
mimeType |
String
|
opts |
Bundle
|
signal |
CancellationSignal
|
Returns | |
---|---|
AssetFileDescriptor |
Throws | |
---|---|
RemoteException |
|
FileNotFoundException |
AssetFileDescriptor openTypedAssetFileDescriptor (Uri uri, String mimeType, Bundle opts)
见 ContentProvider.openTypedAssetFile
Parameters | |
---|---|
uri |
Uri
|
mimeType |
String
|
opts |
Bundle
|
Returns | |
---|---|
AssetFileDescriptor |
Throws | |
---|---|
RemoteException |
|
FileNotFoundException |
Cursor query (Uri url, String[] projection, String selection, String[] selectionArgs, String sortOrder)
Parameters | |
---|---|
url |
Uri
|
projection |
String
|
selection |
String
|
selectionArgs |
String
|
sortOrder |
String
|
Returns | |
---|---|
Cursor |
Throws | |
---|---|
RemoteException |
Cursor query (Uri url, String[] projection, String selection, String[] selectionArgs, String sortOrder, CancellationSignal cancellationSignal)
Parameters | |
---|---|
url |
Uri
|
projection |
String
|
selection |
String
|
selectionArgs |
String
|
sortOrder |
String
|
cancellationSignal |
CancellationSignal
|
Returns | |
---|---|
Cursor |
Throws | |
---|---|
RemoteException |
Uri uncanonicalize (Uri url)
Parameters | |
---|---|
url |
Uri
|
Returns | |
---|---|
Uri |
Throws | |
---|---|
RemoteException |
int update (Uri url, ContentValues values, String selection, String[] selectionArgs)
Parameters | |
---|---|
url |
Uri
|
values |
ContentValues
|
selection |
String
|
selectionArgs |
String
|
Returns | |
---|---|
int |
Throws | |
---|---|
RemoteException |
void finalize ()
当垃圾收集确定没有更多对该对象的引用时,由对象上的垃圾回收器调用。 子类重写了finalize
方法以处置系统资源或执行其他清理。
的常规协定finalize
是,它被调用,如果当在Java TM虚拟机已确定不再有由该目的可以通过还没有死亡,除了作为一个动作的结果的任何线程访问的任何手段取决于某些其他可以完成的对象或类别的最终定稿。 方法finalize
可以采取任何行动,包括使这个对象再次可用于其他线程; 然而, finalize
的通常目的是在对象被不可撤销地丢弃之前执行清理操作。 例如,表示输入/输出连接的对象的finalize方法可能会执行显式I / O事务,以在永久丢弃该对象之前中断连接。
类Object
的finalize
方法Object
执行特殊操作; 它只是正常返回。 Object
子类可能会覆盖此定义。
Java编程语言不保证哪个线程将为任何给定对象调用finalize
方法。 但是,保证调用finalize的线程在调用finalize时不会保留任何用户可见的同步锁。 如果finalize方法引发未捕获的异常,则忽略该异常,并终止该对象的终止。
在针对一个对象调用了 finalize
方法之后,在Java虚拟机再次确定没有任何方法可以通过任何尚未死亡的线程访问此对象之前,不会采取进一步的操作,包括可能的操作通过准备完成的其他对象或类别,此时该对象可能被丢弃。
对于任何给定的对象,Java虚拟机永远不会多次调用 finalize
方法。
finalize
方法抛出的任何异常 finalize
导致此对象的终止被暂停,但在其他情况下会被忽略。
Throws | |
---|---|
Throwable |