ContentProvider.OpenAssetFile メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
オーバーロード
| 名前 | 説明 |
|---|---|
| OpenAssetFile(Uri, String) |
これは |
| OpenAssetFile(Uri, String, CancellationSignal) |
これは |
OpenAssetFile(Uri, String)
これは #openFileのようなものですが、ファイルのサブセクション、多くの場合、その内部の資産を返すことができる必要があるプロバイダーによって実装できます。
[Android.Runtime.Register("openAssetFile", "(Landroid/net/Uri;Ljava/lang/String;)Landroid/content/res/AssetFileDescriptor;", "GetOpenAssetFile_Landroid_net_Uri_Ljava_lang_String_Handler")]
public virtual Android.Content.Res.AssetFileDescriptor? OpenAssetFile(Android.Net.Uri uri, string mode);
[<Android.Runtime.Register("openAssetFile", "(Landroid/net/Uri;Ljava/lang/String;)Landroid/content/res/AssetFileDescriptor;", "GetOpenAssetFile_Landroid_net_Uri_Ljava_lang_String_Handler")>]
abstract member OpenAssetFile : Android.Net.Uri * string -> Android.Content.Res.AssetFileDescriptor
override this.OpenAssetFile : Android.Net.Uri * string -> Android.Content.Res.AssetFileDescriptor
パラメーター
- uri
- Uri
ファイルを開く URI。
- mode
- String
ファイル モードの文字列形式。 "r"、"w"、"wt"、"wa"、"rw"、または "rwt" を指定できます。 これらの正確な実装は、プロバイダーの実装ごとに異なる場合があることに注意してください。たとえば、"w" は切り捨てられる場合と切り捨てられない場合があります。
返品
ファイルへのアクセスに使用できる新しい AssetFileDescriptor を返します。
- 属性
例外
指定された URI に関連付けられているファイルがない場合、またはモードが無効な場合は、FileNotFoundException をスローします。
呼び出し元にファイルへのアクセス許可がない場合は、SecurityException をスローします。
注釈
これは #openFileに似ていますが、ファイルのサブセクション (多くの場合、.apk内の資産) を返すことができる必要があるプロバイダーによって実装できます。 このメソッドは、「 プロセスとスレッド」の説明に従って、複数のスレッドから呼び出すことができます。
これを実装する場合、クライアントは、 ContentResolver#openAssetFileDescriptorを直接使用するか、上位レベルの ContentResolver#openInputStream ContentResolver.openInputStream または ContentResolver#openOutputStream ContentResolver.openOutputStream メソッドを使用して、このようなファイル スライスを処理できる必要があります。
返される AssetFileDescriptor には、データのストリーミングを有効にするパイプまたはソケットのペアを指定できます。
完全なファイルを返すためにこれを実装する場合は、ファイルのサブセクションを処理できないアプリケーションと互換性を持つ AssetFileDescriptor#UNKNOWN_LENGTH を持つ AssetFileDescriptor を作成する必要があります。
意図で使用する場合は、同じ URI でここで返されるデータに適した MIME の種類を返す #getType を実装する必要があります。 これにより、意図解決でデータ MIME の種類を自動的に決定し、操作の一部として適切な一致するターゲットを選択できるようになります。
他のアプリケーションとの相互運用性を高める場合は、開くことができるすべての URI に対して、少なくとも android.provider.OpenableColumns で指定された列を含むクエリもサポートすることをお勧めします。
このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。
こちらもご覧ください
- <xref:Android.Content.ContentProvider.OpenFile(Android.Net.Uri%2c+System.String)>
- <xref:Android.Content.ContentProvider.OpenFileHelper(Android.Net.Uri%2c+System.String)>
- GetType(Uri)
適用対象
OpenAssetFile(Uri, String, CancellationSignal)
これは #openFileのようなものですが、ファイルのサブセクション、多くの場合、その内部の資産を返すことができる必要があるプロバイダーによって実装できます。
[Android.Runtime.Register("openAssetFile", "(Landroid/net/Uri;Ljava/lang/String;Landroid/os/CancellationSignal;)Landroid/content/res/AssetFileDescriptor;", "GetOpenAssetFile_Landroid_net_Uri_Ljava_lang_String_Landroid_os_CancellationSignal_Handler")]
public virtual Android.Content.Res.AssetFileDescriptor? OpenAssetFile(Android.Net.Uri uri, string mode, Android.OS.CancellationSignal? signal);
[<Android.Runtime.Register("openAssetFile", "(Landroid/net/Uri;Ljava/lang/String;Landroid/os/CancellationSignal;)Landroid/content/res/AssetFileDescriptor;", "GetOpenAssetFile_Landroid_net_Uri_Ljava_lang_String_Landroid_os_CancellationSignal_Handler")>]
abstract member OpenAssetFile : Android.Net.Uri * string * Android.OS.CancellationSignal -> Android.Content.Res.AssetFileDescriptor
override this.OpenAssetFile : Android.Net.Uri * string * Android.OS.CancellationSignal -> Android.Content.Res.AssetFileDescriptor
パラメーター
- uri
- Uri
ファイルを開く URI。
- mode
- String
ファイル モードの文字列形式。 "r"、"w"、"wt"、"wa"、"rw"、または "rwt" を指定できます。 これらの正確な実装は、プロバイダーの実装ごとに異なる場合があることに注意してください。たとえば、"w" は切り捨てられる場合と切り捨てられない場合があります。
- signal
- CancellationSignal
進行中の操作を取り消すシグナル、または何も null しない場合は。 たとえば、"rw" モードの要求を処理するためにネットワークからファイルをダウンロードする場合は、 CancellationSignal#throwIfCanceled() を定期的に呼び出して、クライアントが要求をキャンセルしたかどうかを確認し、ダウンロードを中止する必要があります。
返品
ファイルへのアクセスに使用できる新しい AssetFileDescriptor を返します。
- 属性
例外
指定された URI に関連付けられているファイルがない場合、またはモードが無効な場合は、FileNotFoundException をスローします。
呼び出し元にファイルへのアクセス許可がない場合は、SecurityException をスローします。
注釈
これは #openFileに似ていますが、ファイルのサブセクション (多くの場合、.apk内の資産) を返すことができる必要があるプロバイダーによって実装できます。 このメソッドは、「 プロセスとスレッド」の説明に従って、複数のスレッドから呼び出すことができます。
これを実装する場合、クライアントは、 ContentResolver#openAssetFileDescriptorを直接使用するか、上位レベルの ContentResolver#openInputStream ContentResolver.openInputStream または ContentResolver#openOutputStream ContentResolver.openOutputStream メソッドを使用して、このようなファイル スライスを処理できる必要があります。
返される AssetFileDescriptor には、データのストリーミングを有効にするパイプまたはソケットのペアを指定できます。
完全なファイルを返すためにこれを実装する場合は、ファイルのサブセクションを処理できないアプリケーションと互換性を持つ AssetFileDescriptor#UNKNOWN_LENGTH を持つ AssetFileDescriptor を作成する必要があります。
意図で使用する場合は、同じ URI でここで返されるデータに適した MIME の種類を返す #getType を実装する必要があります。 これにより、意図解決でデータ MIME の種類を自動的に決定し、操作の一部として適切な一致するターゲットを選択できるようになります。
他のアプリケーションとの相互運用性を高める場合は、開くことができるすべての URI に対して、少なくとも android.provider.OpenableColumns で指定された列を含むクエリもサポートすることをお勧めします。
このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。
こちらもご覧ください
- <xref:Android.Content.ContentProvider.OpenFile(Android.Net.Uri%2c+System.String)>
- <xref:Android.Content.ContentProvider.OpenFileHelper(Android.Net.Uri%2c+System.String)>
- GetType(Uri)