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

相互運用ランタイムによってこのJava ピアに割り当てられた ID ハッシュ コードを取得します。

(継承元 Object)
JniPeerMembers

このJava ピアのメンバーを呼び出すために使用される JNI メタデータを取得します。

PeerReference

このJava ピアの JNI オブジェクト参照を取得します。

(継承元 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()

このJava ピアによって保持されているリソースを解放します。

(継承元 Object)
Dispose(Boolean)

このJava ピアによって保持されているリソースを解放します。

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

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

DumpAsync(FileDescriptor, PrintWriter, String[])

プロバイダーの状態を指定されたストリームに出力します。 これは、"adb shell dumpsys activity provider <provider_component_name>" を実行した場合に呼び出されます。

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)

コンポーネントの実行中にデバイス構成が変更されたときにシステムによって呼び出されます。 アクティビティとは異なり、構成が変更されたときに他のコンポーネントは再起動されません。リソースの再取得など、変更の結果を常に処理する必要があります。 この関数が呼び出されると、Resources オブジェクトが更新され、新しい構成に一致するリソース値が返されます。 詳細については、「ランタイム変更の処理」を参照してください。 このメソッドは常にアプリケーション のメイン スレッドで呼び出され、長い操作を実行することはできません。 既定のコンテンツ プロバイダーの実装では何も行われません。 適切なアクションを実行するには、このメソッドをオーバーライドします。 (コンテンツ プロバイダーは通常、画面の向きなどを気にしませんが、ロケールの変更について知りたい場合があります)。パラメーター newConfig 構成: 新しいデバイス構成。 この値を null にすることはできません。

OnCreate()

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

OnLowMemory()

これは、システム全体がメモリ不足で実行されており、アクティブに実行されているプロセスがメモリ使用量を削減する必要がある場合に呼び出されます。 これが呼び出される正確なポイントは定義されていませんが、一般に、すべてのバックグラウンド プロセスが強制終了されたときに発生します。 つまり、サービスとフォアグラウンド UI をホストするプロセスを強制終了する前に、強制終了を回避したいと考えています。 このメソッドは常にアプリケーション のメイン スレッドで呼び出され、長い操作を実行することはできません。 既定のコンテンツ プロバイダーの実装では何も行われません。 サブクラスは、このメソッドをオーバーライドして適切なアクションを実行できます。

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)

コンテンツ プロバイダーからデータを読み取るために必要なアクセス許可を変更します。 これは通常、プロバイダーの初回作成時にマニフェスト情報から設定されます。

SetWritePermission(String)

コンテンツ プロバイダーにデータを書き込むのに必要なアクセス許可を変更します。 これは通常、プロバイダーの初回作成時にマニフェスト情報から設定されます。

Shutdown()

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

ToArray<T>()

このJava配列ラッパーからマネージド配列を作成します。

(継承元 Object)
ToString()

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

(継承元 Object)
Uncanonicalize(Uri)

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

UnregisterFromRuntime()

相互運用ランタイムからこのJava ピアの登録を解除します。

(継承元 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()

このマネージド ピアが破棄されたことを相互運用ランタイムに通知します。

(継承元 Object)
IJavaPeerable.DisposeUnlessReferenced()

別のマネージド参照によって保持されない限り、このJavaピアを解放します。

(継承元 Object)
IJavaPeerable.Finalized()

このマネージド ピアが終了したことを相互運用ランタイムに通知します。

(継承元 Object)
IJavaPeerable.JniManagedPeerState

このマネージド ピアとその JNI 参照の間の関係を記述する状態を取得します。

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

このJava ピアの相互運用 ID ハッシュ コードを設定します。

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

このJava ピアのマネージド ピアと JNI ピアの状態を設定します。

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

このマネージド ピアで使用される JNI オブジェクト参照を設定します。

(継承元 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側で有効であることを確認します。

適用対象