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 значение , если поставщик недавно произошел сбой. Вы являетесь владельцем этого дескриптора и несете ответственность за его закрытие по завершении.

Атрибуты

Исключения

Вызывает исключение FileNotFoundException о том, что файл не существует в URI или режим недопустим.

Комментарии

Откройте необработанный дескриптор файла для доступа к данным по URI. Он взаимодействует с базовым ContentProvider#openAssetFile методом поставщика, связанного с заданным URI, для получения любого файла, хранящегося в нем.

<h5>принимает следующие схемы URI:</h5><ul<>li>content (#SCHEME_CONTENT)</li><li>android.resource (#SCHEME_ANDROID_RESOURCE)</li><li li file (#SCHEME_FILE)</li<>/>ul><h5>Android.resource (#SCHEME_ANDROID_RESOURCE) Scheme</h5>

Объект URI можно использовать для ссылки на ресурс в apk-файле. Универсальный код ресурса (URI) должен иметь один из следующих форматов: <ul><li><android.resource://package_name/id_numberbr/>package_name — это имя пакета, указанное в AndroidManifest.xml. Например com.example.myapp<, br/>id_number — это форма int идентификатора.<br/> Самый простой способ создать эту форму :

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

</li><li brandroid.resource://package_name/type/name<>/>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>

Обратите внимание, что если эта функция вызывается для ввода только для чтения (режим "r") для URI содержимого: она будет вызываться #openTypedAssetFileDescriptor с типом MIME "*/*". Это позволяет таким вызывающим абонентам воспользоваться преимуществами любого встроенного преобразования данных, реализуемого поставщиком.

Документация по Java для android.content.ContentResolver.openAssetFileDescriptor(android.net.Uri, java.lang.String).

Части этой страницы являются изменениями, основанными на работе, созданной и совместно используемой проектом Android и используемой в соответствии с условиями, Creative Commons 2.5 Attribution License.

Применяется к

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 значение , если поставщик недавно произошел сбой. Вы являетесь владельцем этого дескриптора и несете ответственность за его закрытие по завершении.

Атрибуты

Исключения

Вызывает исключение FileNotFoundException о том, что файл не существует в URI или режим недопустим.

Комментарии

Откройте необработанный дескриптор файла для доступа к данным по URI. Он взаимодействует с базовым ContentProvider#openAssetFile методом поставщика, связанного с заданным URI, для получения любого файла, хранящегося в нем.

<h5>принимает следующие схемы URI:</h5><ul<>li>content (#SCHEME_CONTENT)</li><li>android.resource (#SCHEME_ANDROID_RESOURCE)</li><li li file (#SCHEME_FILE)</li<>/>ul><h5>Android.resource (#SCHEME_ANDROID_RESOURCE) Scheme</h5>

Объект URI можно использовать для ссылки на ресурс в apk-файле. Универсальный код ресурса (URI) должен иметь один из следующих форматов: <ul><li><android.resource://package_name/id_numberbr/>package_name — это имя пакета, указанное в AndroidManifest.xml. Например com.example.myapp<, br/>id_number — это форма int идентификатора.<br/> Самый простой способ создать эту форму :

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

</li><li brandroid.resource://package_name/type/name<>/>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>

Обратите внимание, что если эта функция вызывается для ввода только для чтения (режим "r") для URI содержимого: она будет вызываться #openTypedAssetFileDescriptor с типом MIME "*/*". Это позволяет таким вызывающим абонентам воспользоваться преимуществами любого встроенного преобразования данных, реализуемого поставщиком.

Документация по Java для android.content.ContentResolver.openAssetFileDescriptor(android.net.Uri, java.lang.String, android.os.CancellationSignal).

Части этой страницы являются изменениями, основанными на работе, созданной и совместно используемой проектом Android и используемой в соответствии с условиями, Creative Commons 2.5 Attribution License.

Применяется к