ContentProvider クラス

定義

コンテンツ プロバイダーは、Android アプリケーションの主要な構成要素の 1 つであり、アプリケーションにコンテンツを提供します。

[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
継承
ContentProvider
派生
属性
実装

注釈

コンテンツ プロバイダーは、Android アプリケーションの主要な構成要素の 1 つであり、アプリケーションにコンテンツを提供します。 データをカプセル化し、単一の ContentResolver インターフェイスを介してアプリケーションに提供します。 コンテンツ プロバイダーは、複数のアプリケーション間でデータを共有する必要がある場合にのみ必要です。 たとえば、連絡先データは複数のアプリケーションで使用され、コンテンツ プロバイダーに格納する必要があります。 複数のアプリケーション間でデータを共有する必要がない場合は、 android.database.sqlite.SQLiteDatabase経由でデータベースを直接使用できます。

ContentResolverを介して要求が行われると、システムは指定された URI の権限を検査し、その権限に登録されているコンテンツ プロバイダーに要求を渡します。 コンテンツ プロバイダーは、必要に応じて残りの URI を解釈できます。 UriMatcher クラスは URI の解析に役立ちます。

実装する必要がある主なメソッドは、プロバイダーを初期化するために呼び出される<ul><li>#onCreate</li><li>#query呼び出し元にデータを返します</li><li>#insert挿入します。 は、コンテンツ プロバイダー</li><li>#updateコンテンツ プロバイダー</li><li>#deleteの既存のデータを更新しコンテンツ プロバイダー</li><li からデータを削除します>#getTypeコンテンツ プロバイダー内のデータの MIME の種類を返します</li></ul>

データ アクセス メソッド ( #insert#updateなど) は、多数のスレッドから一度に呼び出される可能性があり、スレッド セーフである必要があります。 その他のメソッド ( #onCreate など) は、アプリケーション のメイン スレッドからのみ呼び出されるため、長い操作の実行を避ける必要があります。 予期されるスレッド動作については、メソッドの説明を参照してください。

ContentResolverへの要求は適切な ContentProvider インスタンスに自動的に転送されるため、サブクラスはプロセス間呼び出しの詳細について心配する必要はありません。

<div class="special reference"><h3>Developer Guides</h3>

コンテンツ プロバイダーの使用方法の詳細については、 コンテンツ プロバイダー開発者ガイドを参照してください。

</部>

Javaドキュメント。

このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。

コンストラクター

名前 説明
ContentProvider()

ContentProvider インスタンスを構築します。

ContentProvider(IntPtr, JniHandleOwnership)

JNI オブジェクトのマネージド表現を作成するときに使用されるコンストラクター。ランタイムによって呼び出されます。

プロパティ

名前 説明
CallingAttributionSource

呼び出し元アプリの属性ソースを取得します。

CallingAttributionTag

現在のスレッドで処理されている要求を開始した呼び出し元の属性タグを返します。

CallingPackage

現在のスレッドで処理されている要求を開始した呼び出し元のパッケージ名を返します。

CallingPackageUnchecked

現在のスレッドで処理されている要求を開始した呼び出し元のパッケージ名を返します。

Class

この Objectのランタイム クラスを返します。

(継承元 Object)
Context

このプロバイダーが実行されているコンテキストを取得します。

Handle

基になる Android インスタンスへのハンドル。

(継承元 Object)
IsTemporary

このインスタンスが一時的なコンテンツ プロバイダーである場合は true を返します。

JniIdentityHashCode

コンテンツ プロバイダーは、Android アプリケーションの主要な構成要素の 1 つであり、アプリケーションにコンテンツを提供します。

(継承元 Object)
JniPeerMembers

コンテンツ プロバイダーは、Android アプリケーションの主要な構成要素の 1 つであり、アプリケーションにコンテンツを提供します。

PeerReference

コンテンツ プロバイダーは、Android アプリケーションの主要な構成要素の 1 つであり、アプリケーションにコンテンツを提供します。

(継承元 Object)
ReadPermission
古い.

このコンテンツ プロバイダーへの読み取り専用アクセスに必要なアクセス許可の名前を返します。 または、コンテンツ プロバイダーからデータを読み取るために必要なアクセス許可を変更します。

ThresholdClass

この API は Android 用 Mono インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。

ThresholdType

この API は Android 用 Mono インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。

WritePermission
古い.

このコンテンツ プロバイダーへの読み取り/書き込みアクセスに必要なアクセス許可の名前を返します。 または、コンテンツ プロバイダーのデータの読み取りと書き込みに必要なアクセス許可を変更します。

メソッド

名前 説明
ApplyBatch(IList<ContentProviderOperation>)

これをオーバーライドして操作のバッチを実行する要求を処理するか、既定の実装で操作を反復処理し、それぞれに対して ContentProviderOperation#apply を呼び出します。

ApplyBatch(String, IList<ContentProviderOperation>)

これをオーバーライドして操作のバッチを実行する要求を処理するか、既定の実装で操作を反復処理し、それぞれに対して ContentProviderOperation#apply を呼び出します。

AttachInfo(Context, ProviderInfo)

インスタンス化された後、これは、コンテンツ プロバイダーに自身について通知するために呼び出されます。

BulkInsert(Uri, ContentValues[])

一連の新しい行を挿入する要求を処理するためにこれをオーバーライドします。または、既定の実装では値を反復処理し、それぞれに対して #insert を呼び出します。

Call(String, String, Bundle)

プロバイダー定義メソッドを呼び出します。

Call(String, String, String, Bundle)

プロバイダー定義メソッドを呼び出します。

Canonicalize(Uri)

これを実装して、コンテンツ プロバイダーを参照する URI の正規化をサポートします。

ClearCallingIdentity()

現在のスレッドで受信 IPC の ID をリセットします。

Clone()

このオブジェクトのコピーを作成して返します。

(継承元 Object)
Delete(Uri, Bundle)

これを実装して、1 つ以上の行を削除する要求を処理します。

Delete(Uri, String, String[])

これを実装して、1 つ以上の行を削除する要求を処理します。

Dispose()

コンテンツ プロバイダーは、Android アプリケーションの主要な構成要素の 1 つであり、アプリケーションにコンテンツを提供します。

(継承元 Object)
Dispose(Boolean)

コンテンツ プロバイダーは、Android アプリケーションの主要な構成要素の 1 つであり、アプリケーションにコンテンツを提供します。

(継承元 Object)
Dump(FileDescriptor, PrintWriter, String[])

プロバイダーの状態を指定されたストリームに出力します。

DumpAsync(FileDescriptor, PrintWriter, String[])

コンテンツ プロバイダーは、Android アプリケーションの主要な構成要素の 1 つであり、アプリケーションにコンテンツを提供します。

Equals(Object)

他のオブジェクトがこのオブジェクトと "等しい" かどうかを示します。

(継承元 Object)
GetHashCode()

オブジェクトのハッシュ コード値を返します。

(継承元 Object)
GetPathPermissions()

このコンテンツ プロバイダーへの読み取りまたは書き込みアクセスに必要なパスベースのアクセス許可を返します。

GetStreamTypes(Uri, String)

このコンテンツ プロバイダーが特定の URI に対してサポートするデータ ストリームの種類を決定するために、クライアントによって呼び出されます。

GetType(Uri)

これを実装して、指定された URI でデータの MIME タイプの要求を処理します。

GetTypeAnonymous(Uri)

これを実装して、MIME の種類の URI の要求を処理します。これは、任意のアクセス許可で保護する必要がある内部情報を明らかにする必要はありません。

Insert(Uri, ContentValues, Bundle)

これを実装して、新しい行を挿入する要求を処理します。

Insert(Uri, ContentValues)

これを実装して、新しい行を挿入する要求を処理します。

JavaFinalize()

オブジェクトへの参照がなくなったとガベージ コレクションによって判断されたときに、オブジェクトのガベージ コレクターによって呼び出されます。

(継承元 Object)
Notify()

このオブジェクトのモニターで待機している 1 つのスレッドを起動します。

(継承元 Object)
NotifyAll()

このオブジェクトのモニターで待機しているすべてのスレッドを起動します。

(継承元 Object)
OnCallingPackageChanged()

#getCallingPackage()の値が変更されるたびに呼び出され、プロバイダーは、実行している可能性のあるセキュリティ関連のキャッシュを無効にする機会を提供します。

OnConfigurationChanged(Configuration)

追加するには、このメソッドは常にアプリケーション のメイン スレッドで呼び出され、長い操作を実行することはできません。

OnCreate()

これを実装して、起動時にコンテンツ プロバイダーを初期化します。

OnLowMemory()

追加するには、このメソッドは常にアプリケーション のメイン スレッドで呼び出され、長い操作を実行することはできません。

OnTrimMemory(TrimMemory)

不要なメモリをプロセスからトリミングするプロセスに適したタイミングであるとオペレーティング システムが判断したときに呼び出されます。

OpenAssetFile(Uri, String, CancellationSignal)

これは #openFileのようなものですが、ファイルのサブセクション、多くの場合、その内部の資産を返すことができる必要があるプロバイダーによって実装できます。

OpenAssetFile(Uri, String)

これは #openFileのようなものですが、ファイルのサブセクション、多くの場合、その内部の資産を返すことができる必要があるプロバイダーによって実装できます。

OpenFile(Uri, String, CancellationSignal)

ファイル BLOB を開く要求を処理するには、これをオーバーライドします。

OpenFile(Uri, String)

ファイル BLOB を開く要求を処理するには、これをオーバーライドします。

OpenFileHelper(Uri, String)

指定された URI で "_data" という名前の列を検索して、 #openFile を実装するサブクラスの利便性。

OpenPipeHelper(Uri, String, Bundle, Object, ContentProvider+IPipeDataWriter)

#openTypedAssetFileを実装するためのヘルパー関数。データ パイプとバックグラウンド スレッドを作成して、生成されたデータをクライアントにストリームバックできるようにします。

OpenTypedAssetFile(Uri, String, Bundle, CancellationSignal)

特定の MIME の種類のデータを含む読み取り専用ストリームを開くためにクライアントによって呼び出されます。

OpenTypedAssetFile(Uri, String, Bundle)

特定の MIME の種類のデータを含む読み取り専用ストリームを開くためにクライアントによって呼び出されます。

Query(Uri, String[], Bundle, CancellationSignal)

引数が Bundleにパックされているクエリ要求を処理するには、これを実装します。

Query(Uri, String[], String, String[], String, CancellationSignal)

これを実装して、キャンセルをサポートするクライアントからのクエリ要求を処理します。

Query(Uri, String[], String, String[], String)

これを実装して、クライアントからのクエリ要求を処理します。

Refresh(Uri, Bundle, CancellationSignal)

これを実装して、 uriによって識別されるコンテンツの更新をサポートします。

RequireContext()

このプロバイダーが実行されている Null 非許容コンテキストを取得します。これは、 #onCreate後に呼び出されることを意図しています。

RestoreCallingIdentity(ContentProvider+CallingIdentity)

現在のスレッド上の受信 IPC の ID を、 #clearCallingIdentityによって返された以前の ID に復元します。

SetHandle(IntPtr, JniHandleOwnership)

Handle プロパティを設定します。

(継承元 Object)
SetPathPermissions(PathPermission[])

コンテンツ プロバイダーのデータの読み取りまたは書き込みに必要なパスベースのアクセス許可を変更します。

SetReadPermission(String)

コンテンツ プロバイダーは、Android アプリケーションの主要な構成要素の 1 つであり、アプリケーションにコンテンツを提供します。

SetWritePermission(String)

コンテンツ プロバイダーは、Android アプリケーションの主要な構成要素の 1 つであり、アプリケーションにコンテンツを提供します。

Shutdown()

これを実装して ContentProvider インスタンスをシャットダウンします。

ToArray<T>()

コンテンツ プロバイダーは、Android アプリケーションの主要な構成要素の 1 つであり、アプリケーションにコンテンツを提供します。

(継承元 Object)
ToString()

オブジェクトの文字列形式を返します。

(継承元 Object)
Uncanonicalize(Uri)

#canonicalizeによって以前に返された正規 URI から正規化を削除します。

UnregisterFromRuntime()

コンテンツ プロバイダーは、Android アプリケーションの主要な構成要素の 1 つであり、アプリケーションにコンテンツを提供します。

(継承元 Object)
Update(Uri, ContentValues, Bundle)

これを実装して、1 つ以上の行を更新する要求を処理します。

Update(Uri, ContentValues, String, String[])

これを実装して、1 つ以上の行を更新する要求を処理します。

Wait()

現在のスレッドが起動するまで待機します。通常は、 <em>notified</em> または <em>interrupted</em>。

(継承元 Object)
Wait(Int64, Int32)

現在のスレッドは、通常、 <em>notified</em> または <em>interrupted</em>、または一定のリアルタイムが経過するまで、起動されるまで待機します。

(継承元 Object)
Wait(Int64)

現在のスレッドは、通常、 <em>notified</em> または <em>interrupted</em>、または一定のリアルタイムが経過するまで、起動されるまで待機します。

(継承元 Object)

明示的なインターフェイスの実装

名前 説明
IJavaPeerable.Disposed()

コンテンツ プロバイダーは、Android アプリケーションの主要な構成要素の 1 つであり、アプリケーションにコンテンツを提供します。

(継承元 Object)
IJavaPeerable.DisposeUnlessReferenced()

コンテンツ プロバイダーは、Android アプリケーションの主要な構成要素の 1 つであり、アプリケーションにコンテンツを提供します。

(継承元 Object)
IJavaPeerable.Finalized()

コンテンツ プロバイダーは、Android アプリケーションの主要な構成要素の 1 つであり、アプリケーションにコンテンツを提供します。

(継承元 Object)
IJavaPeerable.JniManagedPeerState

コンテンツ プロバイダーは、Android アプリケーションの主要な構成要素の 1 つであり、アプリケーションにコンテンツを提供します。

(継承元 Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

コンテンツ プロバイダーは、Android アプリケーションの主要な構成要素の 1 つであり、アプリケーションにコンテンツを提供します。

(継承元 Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

コンテンツ プロバイダーは、Android アプリケーションの主要な構成要素の 1 つであり、アプリケーションにコンテンツを提供します。

(継承元 Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

コンテンツ プロバイダーは、Android アプリケーションの主要な構成要素の 1 つであり、アプリケーションにコンテンツを提供します。

(継承元 Object)

拡張メソッド

名前 説明
GetJniTypeName(IJavaPeerable)

インスタンス selfの型の JNI 名を取得します。

JavaAs<TResult>(IJavaPeerable)

selfを強制的にTResult入力し、強制型がJava側で有効であることを確認します。

JavaCast<TResult>(IJavaObject)

Android ランタイムチェック型変換を実行します。

JavaCast<TResult>(IJavaObject)

コンテンツ プロバイダーは、Android アプリケーションの主要な構成要素の 1 つであり、アプリケーションにコンテンツを提供します。

TryJavaCast<TResult>(IJavaPeerable, TResult)

selfを強制的にTResult入力し、強制型がJava側で有効であることを確認します。

適用対象