ContentResolver.OpenAssetFileDescriptor メソッド

定義

オーバーロード

OpenAssetFileDescriptor(Uri, String)

生のファイル記述子を開いて、URI の下のデータにアクセスします。

OpenAssetFileDescriptor(Uri, String, CancellationSignal)

生のファイル記述子を開いて、URI の下のデータにアクセスします。

OpenAssetFileDescriptor(Uri, String)

生のファイル記述子を開いて、URI の下のデータにアクセスします。

[Android.Runtime.Register("openAssetFileDescriptor", "(Landroid/net/Uri;Ljava/lang/String;)Landroid/content/res/AssetFileDescriptor;", "")]
public Android.Content.Res.AssetFileDescriptor? OpenAssetFileDescriptor (Android.Net.Uri uri, string mode);
[<Android.Runtime.Register("openAssetFileDescriptor", "(Landroid/net/Uri;Ljava/lang/String;)Landroid/content/res/AssetFileDescriptor;", "")>]
member this.OpenAssetFileDescriptor : Android.Net.Uri * string -> Android.Content.Res.AssetFileDescriptor

パラメーター

uri
Uri

開く目的の URI。

mode
String

ファイル モードの文字列表現。 "r"、"w"、"wt"、"wa"、"rw"、または "rwt" を指定できます。 これらの正確な実装は、プロバイダーの実装ごとに異なる場合があることに注意してください。たとえば、"w" は切り捨てられる場合と切り捨てられない場合があります。

戻り値

ファイルを指す新しい ParcelFileDescriptor を返します。プロバイダー null が最近クラッシュした場合は を返します。 この記述子を所有しており、完了したらそれを閉じる責任があります。

属性

例外

URI の下にファイルが存在しないか、モードが無効である FileNotFoundException をスローします。

注釈

生のファイル記述子を開いて、URI の下のデータにアクセスします。 これにより、指定された URI に関連付けられているプロバイダーの基になる ContentProvider#openAssetFile メソッドとやり取りして、そこに格納されているすべてのファイルを取得します。

<h5>次の URI スキームを受け入れます:</h5<>ul><li>コンテンツ (#SCHEME_CONTENT)</li li<>>android.resource (#SCHEME_ANDROID_RESOURCE)</li li>><ファイル (#SCHEME_FILE)</li></ul><h5>Android.resource (#SCHEME_ANDROID_RESOURCE) Scheme</h5>

URI オブジェクトを使用して、APK ファイル内のリソースを参照できます。 Uri は、次のいずれかの形式にする必要があります。 <ul><li>android.resource://package_name/id_number<br/>package_name は、AndroidManifest.xml に記載されているパッケージ名です。 たとえば com.example.myapp<、br/>id_number は ID の int 形式です。<br/> このフォームを構築する最も簡単な方法は、

Uri uri = Uri.parse("android.resource://com.example.myapp/" + R.raw.my_resource");

</li li>android.resource://package_name/type/name><<br/>package_name は、AndroidManifest.xml に記載されているパッケージ名です。 たとえば com.example.myapp<、br/>type はリソースの種類の文字列形式です。 たとえば、raw または drawable です。 name は、リソース名の文字列形式です。 つまり、ファイル名が res ディレクトリに含まれているものに関係なく、型拡張子はありません。 このフォームを構築する最も簡単な方法は、

Uri uri = Uri.parse("android.resource://com.example.myapp/raw/my_resource");

</li></ul>

コンテンツ URI の読み取り専用入力 (モードは "r") に対してこの関数が呼び出された場合、代わりに MIME の種類が "*/*" で呼び出 #openTypedAssetFileDescriptor されることに注意してください。 これにより、このような呼び出し元は、プロバイダーが実装する組み込みのデータ変換の恩恵を受けることができます。

の Java ドキュメント android.content.ContentResolver.openAssetFileDescriptor(android.net.Uri, java.lang.String)

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

適用対象

OpenAssetFileDescriptor(Uri, String, CancellationSignal)

生のファイル記述子を開いて、URI の下のデータにアクセスします。

[Android.Runtime.Register("openAssetFileDescriptor", "(Landroid/net/Uri;Ljava/lang/String;Landroid/os/CancellationSignal;)Landroid/content/res/AssetFileDescriptor;", "")]
public Android.Content.Res.AssetFileDescriptor? OpenAssetFileDescriptor (Android.Net.Uri uri, string mode, Android.OS.CancellationSignal? cancellationSignal);
[<Android.Runtime.Register("openAssetFileDescriptor", "(Landroid/net/Uri;Ljava/lang/String;Landroid/os/CancellationSignal;)Landroid/content/res/AssetFileDescriptor;", "")>]
member this.OpenAssetFileDescriptor : Android.Net.Uri * string * Android.OS.CancellationSignal -> Android.Content.Res.AssetFileDescriptor

パラメーター

uri
Uri

開く目的の URI。

mode
String

ファイル モードの文字列表現。 "r"、"w"、"wt"、"wa"、"rw"、または "rwt" を指定できます。 "w" は書き込み専用で、"wt" は書き込みおよび切り捨てであることに注意してください。 詳細についてはParcelFileDescriptor#parseMode 、以下を参照してください。

cancellationSignal
CancellationSignal

進行中の操作を取り消すシグナル。存在しない場合は null。 操作が取り消されると、 OperationCanceledException がスローされます。

戻り値

ファイルを指す新しい ParcelFileDescriptor を返します。プロバイダー null が最近クラッシュした場合は を返します。 この記述子を所有しており、完了したらそれを閉じる責任があります。

属性

例外

URI の下にファイルが存在しないか、モードが無効である FileNotFoundException をスローします。

注釈

生のファイル記述子を開いて、URI の下のデータにアクセスします。 これにより、指定された URI に関連付けられているプロバイダーの基になる ContentProvider#openAssetFile メソッドとやり取りして、そこに格納されているすべてのファイルを取得します。

<h5>次の URI スキームを受け入れます:</h5<>ul><li>コンテンツ (#SCHEME_CONTENT)</li li<>>android.resource (#SCHEME_ANDROID_RESOURCE)</li li>><ファイル (#SCHEME_FILE)</li></ul><h5>Android.resource (#SCHEME_ANDROID_RESOURCE) Scheme</h5>

URI オブジェクトを使用して、APK ファイル内のリソースを参照できます。 Uri は、次のいずれかの形式にする必要があります。 <ul><li>android.resource://package_name/id_number<br/>package_name は、AndroidManifest.xml に記載されているパッケージ名です。 たとえば com.example.myapp<、br/>id_number は ID の int 形式です。<br/> このフォームを構築する最も簡単な方法は、

Uri uri = Uri.parse("android.resource://com.example.myapp/" + R.raw.my_resource");

</li li>android.resource://package_name/type/name><<br/>package_name は、AndroidManifest.xml に記載されているパッケージ名です。 たとえば com.example.myapp<、br/>type はリソースの種類の文字列形式です。 たとえば、raw または drawable です。 name は、リソース名の文字列形式です。 つまり、ファイル名が res ディレクトリに含まれているものに関係なく、型拡張子はありません。 このフォームを構築する最も簡単な方法は、

Uri uri = Uri.parse("android.resource://com.example.myapp/raw/my_resource");

</li></ul>

コンテンツ URI の読み取り専用入力 (モードは "r") に対してこの関数が呼び出された場合、代わりに MIME の種類が "*/*" で呼び出 #openTypedAssetFileDescriptor されることに注意してください。 これにより、このような呼び出し元は、プロバイダーが実装する組み込みのデータ変換の恩恵を受けることができます。

の Java ドキュメント android.content.ContentResolver.openAssetFileDescriptor(android.net.Uri, java.lang.String, android.os.CancellationSignal)

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

適用対象