Most visited

Recently visited

Added in API level 5

ContentProviderClient

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()这些调用,直到您完成返回的数据。

Summary

Public methods

ContentProviderResult[] applyBatch(ArrayList<ContentProviderOperation> operations)

ContentProvider.applyBatch

int bulkInsert(Uri url, ContentValues[] initialValues)

ContentProvider.bulkInsert

Bundle call(String method, String arg, Bundle extras)

call(String, String, Bundle)

final Uri canonicalize(Uri url)

canonicalize(Uri)

void close()

关闭此客户端连接,向系统表明不再需要底层的 ContentProvider

int delete(Uri url, String selection, String[] selectionArgs)

ContentProvider.delete

ContentProvider getLocalContentProvider()

获取与此客户端关联的 ContentProvider的引用。

String[] getStreamTypes(Uri url, String mimeTypeFilter)

ContentProvider.getStreamTypes

String getType(Uri url)

ContentProvider.getType

Uri insert(Uri url, ContentValues initialValues)

ContentProvider.insert

AssetFileDescriptor openAssetFile(Uri url, String mode, CancellationSignal signal)

ContentProvider.openAssetFile

AssetFileDescriptor openAssetFile(Uri url, String mode)

ContentProvider.openAssetFile

ParcelFileDescriptor openFile(Uri url, String mode, CancellationSignal signal)

ContentProvider.openFile

ParcelFileDescriptor openFile(Uri url, String mode)

ContentProvider.openFile

final AssetFileDescriptor openTypedAssetFileDescriptor(Uri uri, String mimeType, Bundle opts, CancellationSignal signal)

ContentProvider.openTypedAssetFile

final AssetFileDescriptor openTypedAssetFileDescriptor(Uri uri, String mimeType, Bundle opts)

ContentProvider.openTypedAssetFile

Cursor query(Uri url, String[] projection, String selection, String[] selectionArgs, String sortOrder)

ContentProvider.query

Cursor query(Uri url, String[] projection, String selection, String[] selectionArgs, String sortOrder, CancellationSignal cancellationSignal)

ContentProvider.query

boolean release()

此方法在API级别24中已被弃用。替换为close()

final Uri uncanonicalize(Uri url)

uncanonicalize(Uri)

int update(Uri url, ContentValues values, String selection, String[] selectionArgs)

ContentProvider.update

Protected methods

void finalize()

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

Inherited methods

From class java.lang.Object
From interface java.lang.AutoCloseable

Public methods

bulkInsert

Added in API level 5
int bulkInsert (Uri url, 
                ContentValues[] initialValues)

ContentProvider.bulkInsert

Parameters
url Uri
initialValues ContentValues
Returns
int
Throws
RemoteException

call

Added in API level 17
Bundle call (String method, 
                String arg, 
                Bundle extras)

call(String, String, Bundle)

Parameters
method String
arg String
extras Bundle
Returns
Bundle
Throws
RemoteException

canonicalize

Added in API level 19
Uri canonicalize (Uri url)

canonicalize(Uri)

Parameters
url Uri
Returns
Uri
Throws
RemoteException

close

Added in API level 24
void close ()

关闭此客户端连接,向系统表明不再需要基础 ContentProvider

delete

Added in API level 5
int delete (Uri url, 
                String selection, 
                String[] selectionArgs)

ContentProvider.delete

Parameters
url Uri
selection String
selectionArgs String
Returns
int
Throws
RemoteException

getLocalContentProvider

Added in API level 5
ContentProvider getLocalContentProvider ()

获取与此客户端关联的ContentProvider的引用。 如果ContentProvider正在不同的进程中运行,则返回null。 如果您知道您在与提供程序相同的进程中运行并希望直接访问其实现细节,则可以使用此方法。

Returns
ContentProvider If the associated ContentProvider is local, returns it. Otherwise returns null.

getStreamTypes

Added in API level 11
String[] getStreamTypes (Uri url, 
                String mimeTypeFilter)

ContentProvider.getStreamTypes

Parameters
url Uri
mimeTypeFilter String
Returns
String[]
Throws
RemoteException

getType

Added in API level 5
String getType (Uri url)

ContentProvider.getType

Parameters
url Uri
Returns
String
Throws
RemoteException

insert

Added in API level 5
Uri insert (Uri url, 
                ContentValues initialValues)

ContentProvider.insert

Parameters
url Uri
initialValues ContentValues
Returns
Uri
Throws
RemoteException

openAssetFile

Added in API level 19
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

openAssetFile

Added in API level 5
AssetFileDescriptor openAssetFile (Uri url, 
                String mode)

ContentProvider.openAssetFile 请注意,这涉及非内容:URI,例如file :. 强烈建议您改为使用ContentResolver.openAssetFileDescriptor API。

Parameters
url Uri
mode String
Returns
AssetFileDescriptor
Throws
RemoteException
FileNotFoundException

openFile

Added in API level 19
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

openFile

Added in API level 5
ParcelFileDescriptor openFile (Uri url, 
                String mode)

ContentProvider.openFile 请注意,这涉及非内容:URI,例如file :. 强烈建议您使用ContentResolver.openFileDescriptor API。

Parameters
url Uri
mode String
Returns
ParcelFileDescriptor
Throws
RemoteException
FileNotFoundException

openTypedAssetFileDescriptor

Added in API level 19
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

openTypedAssetFileDescriptor

Added in API level 11
AssetFileDescriptor openTypedAssetFileDescriptor (Uri uri, 
                String mimeType, 
                Bundle opts)

ContentProvider.openTypedAssetFile

Parameters
uri Uri
mimeType String
opts Bundle
Returns
AssetFileDescriptor
Throws
RemoteException
FileNotFoundException

query

Added in API level 5
Cursor query (Uri url, 
                String[] projection, 
                String selection, 
                String[] selectionArgs, 
                String sortOrder)

ContentProvider.query

Parameters
url Uri
projection String
selection String
selectionArgs String
sortOrder String
Returns
Cursor
Throws
RemoteException

query

Added in API level 16
Cursor query (Uri url, 
                String[] projection, 
                String selection, 
                String[] selectionArgs, 
                String sortOrder, 
                CancellationSignal cancellationSignal)

ContentProvider.query

Parameters
url Uri
projection String
selection String
selectionArgs String
sortOrder String
cancellationSignal CancellationSignal
Returns
Cursor
Throws
RemoteException

release

Added in API level 5
boolean release ()

此方法在API级别24中已弃用。
换成close()

Returns
boolean

uncanonicalize

Added in API level 19
Uri uncanonicalize (Uri url)

uncanonicalize(Uri)

Parameters
url Uri
Returns
Uri
Throws
RemoteException

update

Added in API level 5
int update (Uri url, 
                ContentValues values, 
                String selection, 
                String[] selectionArgs)

ContentProvider.update

Parameters
url Uri
values ContentValues
selection String
selectionArgs String
Returns
int
Throws
RemoteException

Protected methods

finalize

Added in API level 5
void finalize ()

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

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

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

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

在针对一个对象调用了 finalize方法之后,在Java虚拟机再次确定没有任何方法可以通过任何尚未死亡的线程访问此对象之前,不会采取进一步的操作,包括可能的操作通过准备完成的其他对象或类别,此时该对象可能被丢弃。

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

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

Throws
Throwable

Hooray!