ContentProvider Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Los proveedores de contenido son uno de los principales bloques de creación de aplicaciones Android, lo que proporciona contenido a las aplicaciones.
[Android.Runtime.Register("android/content/ContentProvider", DoNotGenerateAcw=true)]
public abstract class ContentProvider : Java.Lang.Object, Android.Content.IComponentCallbacks2, IDisposable, Java.Interop.IJavaPeerable
[<Android.Runtime.Register("android/content/ContentProvider", DoNotGenerateAcw=true)>]
type ContentProvider = class
inherit Object
interface IComponentCallbacks
interface IJavaObject
interface IDisposable
interface IJavaPeerable
interface IComponentCallbacks2
- Herencia
- Derivado
- Atributos
- Implementaciones
Comentarios
Los proveedores de contenido son uno de los principales bloques de creación de aplicaciones Android, lo que proporciona contenido a las aplicaciones. Encapsulan los datos y los proporcionan a las aplicaciones a través de la interfaz única ContentResolver . Solo se requiere un proveedor de contenido si necesita compartir datos entre varias aplicaciones. Por ejemplo, varias aplicaciones usan los datos de contactos y deben almacenarse en un proveedor de contenido. Si no necesita compartir datos entre varias aplicaciones, puede usar una base de datos directamente a través de android.database.sqlite.SQLiteDatabase.
Cuando se realiza una solicitud a través de un ContentResolver sistema inspecciona la autoridad del URI especificado y pasa la solicitud al proveedor de contenido registrado con la autoridad. El proveedor de contenido puede interpretar el resto del URI, pero quiere. La UriMatcher clase es útil para analizar los URI.
Los métodos principales que se deben implementar son: <ul><li>#onCreate, al que se llama para inicializar el proveedor< o li li><>#query, que devuelve datos al autor de la llamada< o li li><>#insert, que inserta nuevos datos en el proveedor< de contenido/li li><>#update, que actualiza los datos existentes en el proveedor< de contenido/li><li>#delete, que elimina los datos del proveedor< de contenido/li><li li.>#getType que devuelve el tipo de datos MIME en el proveedor< de contenido/li></ul>
Los métodos de acceso a datos (como #insert y #update) se pueden llamar desde muchos subprocesos a la vez y deben ser seguros para subprocesos. Otros métodos (como #onCreate) solo se llaman desde el subproceso principal de la aplicación y deben evitar realizar operaciones largas. Consulte las descripciones del método para conocer su comportamiento esperado del subproceso.
Las solicitudes a ContentResolver se reenvieron automáticamente a la instancia de ContentProvider adecuada, por lo que las subclases no tienen que preocuparse por los detalles de las llamadas entre procesos.
<div class="special reference"><h3>Developer Guides</h3>
Para obtener más información sobre el uso de proveedores de contenido, lea la guía para desarrolladores de proveedores de contenido .
</div>
Java documentación para android.content.ContentProvider.
Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el Android y se usan según los términos descritos en creative Creative Commons 2.5 Attribution License.
Constructores
| Nombre | Description |
|---|---|
| ContentProvider() |
Construya una instancia de ContentProvider. |
| ContentProvider(IntPtr, JniHandleOwnership) |
Constructor utilizado al crear representaciones administradas de objetos JNI; llamado por el tiempo de ejecución. |
Propiedades
| Nombre | Description |
|---|---|
| CallingAttributionSource |
Obtiene el origen de atribución de la aplicación que llama. |
| CallingAttributionTag |
Devuelve la etiqueta de atribución del autor de la llamada que inició la solicitud que se está procesando en el subproceso actual. |
| CallingPackage |
Devuelve el nombre del paquete del autor de la llamada que inició la solicitud que se está procesando en el subproceso actual. |
| CallingPackageUnchecked |
Devuelve el nombre del paquete del autor de la llamada que inició la solicitud que se está procesando en el subproceso actual. |
| Class |
Devuelve la clase en tiempo de ejecución de este |
| Context |
Recupera el contexto en el que se ejecuta este proveedor. |
| Handle |
Identificador de la instancia de Android subyacente. (Heredado de Object) |
| IsTemporary |
Devuelve true si esta instancia es un proveedor de contenido temporal. |
| JniIdentityHashCode |
Obtiene el código hash de identidad asignado a este Java del mismo nivel por el tiempo de ejecución de interoperabilidad. (Heredado de Object) |
| JniPeerMembers |
Obtiene los metadatos de JNI usados para invocar miembros de este Java del mismo nivel. |
| PeerReference |
Obtiene la referencia de objeto JNI para este Java del mismo nivel. (Heredado de Object) |
| ReadPermission |
Obsoletos.
Devuelve el nombre del permiso necesario para el acceso de solo lectura a este proveedor de contenido. -o bien- Cambie el permiso necesario para leer datos del proveedor de contenido. |
| ThresholdClass |
Esta API admite la infraestructura mono para Android y no está pensada para usarse directamente desde el código. |
| ThresholdType |
Esta API admite la infraestructura mono para Android y no está pensada para usarse directamente desde el código. |
| WritePermission |
Obsoletos.
Devuelve el nombre del permiso necesario para el acceso de lectura y escritura a este proveedor de contenido. -o bien- Cambie el permiso necesario para leer y escribir datos en el proveedor de contenido. |
Métodos
| Nombre | Description |
|---|---|
| ApplyBatch(IList<ContentProviderOperation>) |
Invalide esta opción para controlar las solicitudes para realizar un lote de operaciones, o la implementación predeterminada iterará en las operaciones y llamará a |
| ApplyBatch(String, IList<ContentProviderOperation>) |
Invalide esta opción para controlar las solicitudes para realizar un lote de operaciones, o la implementación predeterminada iterará en las operaciones y llamará a |
| AttachInfo(Context, ProviderInfo) |
Después de crear instancias, se llama a para informar al proveedor de contenido sobre sí mismo. |
| BulkInsert(Uri, ContentValues[]) |
Invalide esta opción para controlar las solicitudes para insertar un conjunto de filas nuevas o la implementación predeterminada iterará los valores y llamará |
| Call(String, String, Bundle) |
Llame a un método definido por el proveedor. |
| Call(String, String, String, Bundle) |
Llame a un método definido por el proveedor. |
| Canonicalize(Uri) |
Implemente esto para admitir la canónicaización de URI que hacen referencia al proveedor de contenido. |
| ClearCallingIdentity() |
Restablezca la identidad del IPC entrante en el subproceso actual. |
| Clone() |
Crea y devuelve una copia de este objeto. (Heredado de Object) |
| Delete(Uri, Bundle) |
Implemente esto para controlar las solicitudes para eliminar una o varias filas. |
| Delete(Uri, String, String[]) |
Implemente esto para controlar las solicitudes para eliminar una o varias filas. |
| Dispose() |
Libera los recursos mantenidos por este Java del mismo nivel. (Heredado de Object) |
| Dispose(Boolean) |
Libera los recursos mantenidos por este Java del mismo nivel. (Heredado de Object) |
| Dump(FileDescriptor, PrintWriter, String[]) |
Imprima el estado del proveedor en la secuencia especificada. |
| DumpAsync(FileDescriptor, PrintWriter, String[]) |
Imprima el estado del proveedor en la secuencia especificada. Esto se invoca si ejecuta "adb shell dumpsys activity provider <provider_component_name>". |
| Equals(Object) |
Indica si algún otro objeto es "igual a" este. (Heredado de Object) |
| GetHashCode() |
Devuelve un valor de código hash para el objeto . (Heredado de Object) |
| GetPathPermissions() |
Devuelve los permisos basados en la ruta de acceso necesarios para el acceso de lectura o escritura a este proveedor de contenido. |
| GetStreamTypes(Uri, String) |
Llamado por un cliente para determinar los tipos de flujos de datos que admite este proveedor de contenido para el URI especificado. |
| GetType(Uri) |
Implemente esto para controlar las solicitudes del tipo MIME de los datos en el URI especificado. |
| GetTypeAnonymous(Uri) |
Implemente esto para controlar las solicitudes para el tipo mime de URI, que no necesita revelar ninguna información interna que se debe proteger con ningún permiso. |
| Insert(Uri, ContentValues, Bundle) |
Implemente esto para controlar las solicitudes para insertar una nueva fila. |
| Insert(Uri, ContentValues) |
Implemente esto para controlar las solicitudes para insertar una nueva fila. |
| JavaFinalize() |
Lo llama el recolector de elementos no utilizados en un objeto cuando la recolección de elementos no utilizados determina que no hay más referencias al objeto . (Heredado de Object) |
| Notify() |
Activa un único subproceso que está esperando en el monitor de este objeto. (Heredado de Object) |
| NotifyAll() |
Activa todos los subprocesos que están esperando en el monitor de este objeto. (Heredado de Object) |
| OnCallingPackageChanged() |
Se llama cada vez que el valor de |
| OnConfigurationChanged(Configuration) |
Lo llama el sistema cuando cambia la configuración del dispositivo mientras se ejecuta el componente. Tenga en cuenta que, a diferencia de las actividades, nunca se reinician otros componentes cuando cambia una configuración: siempre deben tratar los resultados del cambio, como al volver a recuperar recursos. En el momento en que se ha llamado a esta función, el objeto Resources se actualizará para devolver valores de recursos que coincidan con la nueva configuración. Para obtener más información, consulte Control de cambios en tiempo de ejecución. Siempre se llama a este método en el subproceso principal de la aplicación y no debe realizar operaciones largas. La implementación predeterminada del proveedor de contenido no hace nada. Invalide este método para realizar las acciones adecuadas. (Los proveedores de contenido no suelen preocuparse por cosas como la orientación de la pantalla, pero es posible que quieran conocer los cambios de configuración regional). Parámetros newConfig Configuration: la nueva configuración del dispositivo. Este valor no puede ser null. |
| OnCreate() |
Implemente esta opción para inicializar el proveedor de contenido al iniciarse. |
| OnLowMemory() |
Esto se llama cuando el sistema general se está ejecutando poco en la memoria y los procesos que se ejecutan activamente deben recortar su uso de memoria. Aunque el punto exacto en el que se llamará no está definido, por lo general se producirá cuando se hayan matado todos los procesos en segundo plano. Es decir, antes de llegar al punto de matar los procesos de hospedaje del servicio y la interfaz de usuario en primer plano que nos gustaría evitar matar. Siempre se llama a este método en el subproceso principal de la aplicación y no debe realizar operaciones largas. La implementación predeterminada del proveedor de contenido no hace nada. Las subclases pueden invalidar este método para realizar las acciones adecuadas. |
| OnTrimMemory(TrimMemory) |
Se llama cuando el sistema operativo ha determinado que es un buen momento para que un proceso recorte la memoria innecesaria de su proceso. |
| OpenAssetFile(Uri, String, CancellationSignal) |
Esto es como |
| OpenAssetFile(Uri, String) |
Esto es como |
| OpenFile(Uri, String, CancellationSignal) |
Invalide esta opción para controlar las solicitudes para abrir un blob de archivos. |
| OpenFile(Uri, String) |
Invalide esta opción para controlar las solicitudes para abrir un blob de archivos. |
| OpenFileHelper(Uri, String) |
Comodidad para las subclases que desean implementar |
| OpenPipeHelper(Uri, String, Bundle, Object, ContentProvider+IPipeDataWriter) |
Una función auxiliar para implementar |
| OpenTypedAssetFile(Uri, String, Bundle, CancellationSignal) |
Llamado por un cliente para abrir una secuencia de solo lectura que contiene datos de un tipo MIME determinado. |
| OpenTypedAssetFile(Uri, String, Bundle) |
Llamado por un cliente para abrir una secuencia de solo lectura que contiene datos de un tipo MIME determinado. |
| Query(Uri, String[], Bundle, CancellationSignal) |
Implemente esto para controlar las solicitudes de consulta en las que los argumentos se empaquetan en un |
| Query(Uri, String[], String, String[], String, CancellationSignal) |
Implemente esto para controlar las solicitudes de consulta de los clientes con compatibilidad con la cancelación. |
| Query(Uri, String[], String, String[], String) |
Implemente esto para controlar las solicitudes de consulta de los clientes. |
| Refresh(Uri, Bundle, CancellationSignal) |
Implemente esto para admitir la actualización del contenido identificado por |
| RequireContext() |
Recupera un contexto que no acepta valores NULL en el que se ejecuta este proveedor; se pretende llamar a él después |
| RestoreCallingIdentity(ContentProvider+CallingIdentity) |
Restaure la identidad del IPC entrante en el subproceso actual a una identidad previamente devuelta por |
| SetHandle(IntPtr, JniHandleOwnership) |
Establece la propiedad Handle. (Heredado de Object) |
| SetPathPermissions(PathPermission[]) |
Cambie el permiso basado en la ruta de acceso necesario para leer o escribir datos en el proveedor de contenido. |
| SetReadPermission(String) |
Cambie el permiso necesario para leer datos del proveedor de contenido. Normalmente, esto se establece para usted a partir de su información de manifiesto cuando se crea por primera vez el proveedor. |
| SetWritePermission(String) |
Cambie el permiso necesario para escribir datos en el proveedor de contenido. Normalmente, esto se establece para usted a partir de su información de manifiesto cuando se crea por primera vez el proveedor. |
| Shutdown() |
Implemente esta opción para apagar la instancia de ContentProvider. |
| ToArray<T>() |
Crea una matriz administrada a partir de este contenedor de matriz Java. (Heredado de Object) |
| ToString() |
Devuelve una representación de cadena del objeto . (Heredado de Object) |
| Uncanonicalize(Uri) |
Quite la canónica de los URI canónicos devueltos anteriormente por |
| UnregisterFromRuntime() |
Anula el registro de este Java del mismo nivel del tiempo de ejecución de interoperabilidad. (Heredado de Object) |
| Update(Uri, ContentValues, Bundle) |
Implemente esto para controlar las solicitudes para actualizar una o varias filas. |
| Update(Uri, ContentValues, String, String[]) |
Implemente esto para controlar las solicitudes para actualizar una o varias filas. |
| Wait() |
Hace que el subproceso actual espere hasta que se despierte, normalmente por ser em notificado/em< o >em<interrumpido>/em<.><> (Heredado de Object) |
| Wait(Int64, Int32) |
Hace que el subproceso actual espere hasta que se despierte, normalmente por ser <em>notificado</em> o <em>interrumpido</em>, o hasta que haya transcurrido una cierta cantidad de tiempo real. (Heredado de Object) |
| Wait(Int64) |
Hace que el subproceso actual espere hasta que se despierte, normalmente por ser <em>notificado</em> o <em>interrumpido</em>, o hasta que haya transcurrido una cierta cantidad de tiempo real. (Heredado de Object) |
Implementaciones de interfaz explícitas
| Nombre | Description |
|---|---|
| IJavaPeerable.Disposed() |
Notifica al tiempo de ejecución de interoperabilidad que se ha eliminado este mismo nivel administrado. (Heredado de Object) |
| IJavaPeerable.DisposeUnlessReferenced() |
Libera este Java del mismo nivel a menos que otra referencia administrada lo conserve. (Heredado de Object) |
| IJavaPeerable.Finalized() |
Notifica al tiempo de ejecución de interoperabilidad que se ha finalizado este mismo nivel administrado. (Heredado de Object) |
| IJavaPeerable.JniManagedPeerState |
Obtiene el estado que describe la relación entre este par administrado y su referencia de JNI. (Heredado de Object) |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
Establece el código hash de identidad de interoperabilidad para este Java del mismo nivel. (Heredado de Object) |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Establece el estado del mismo nivel administrado y JNI para este Java del mismo nivel. (Heredado de Object) |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
Establece la referencia de objeto JNI usada por este par administrado. (Heredado de Object) |
Métodos de extensión
| Nombre | Description |
|---|---|
| GetJniTypeName(IJavaPeerable) |
Obtiene el nombre JNI del tipo de la instancia |
| JavaAs<TResult>(IJavaPeerable) |
Intente coerción |
| JavaCast<TResult>(IJavaObject) |
Realiza una conversión de tipos comprobados en tiempo de ejecución de Android. |
| JavaCast<TResult>(IJavaObject) |
Los proveedores de contenido son uno de los principales bloques de creación de aplicaciones Android, lo que proporciona contenido a las aplicaciones. |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Intente coerción |