Поделиться через


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 ()/li><li>android.resource ()</li li file ()/li<>li>file (#SCHEME_FILE#SCHEME_ANDROID_RESOURCE#SCHEME_CONTENT)<</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 — это инт-форма идентификатора.<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>

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

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

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

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

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 ()/li><li>android.resource ()</li li file ()/li<>li>file (#SCHEME_FILE#SCHEME_ANDROID_RESOURCE#SCHEME_CONTENT)<</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 — это инт-форма идентификатора.<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>

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

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

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

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