Android file assets url

Assets (Активы)

В Android имеется ещё один каталог, в котором могут храниться файлы, предназначенные для включения в пакет — assets. Этот каталог находится на том же уровне, что и res. Для файлов, располагающихся в assets, в R.java не генерируются идентификаторы ресурсов. Для их считывания необходимо указать путь к файлу. Путь к файлу является относительным и начинается с /assets. Этот каталог, в отличие от подкаталога res, позволяет задавать произвольную глубину подкаталогов и произвольные имена файлов и подкаталогов.

По умолчанию проект в студии не содержит данную папку. Чтобы её создать, выберите меню File | New | Folder | Assets Folder.

Чтение файлов

Для доступа к файлам используется класс AssetManager. Пример для чтения текстового файла.

Сначала на Kotlin.

Для доступа к графическому файлу из актива можно использовать следующий код:

Вы также можете загрузить изображение в Bitmap, используя BitmapFactory.decodeStream(), вместо Drawable.

Функция-расширение для Kotlin, которая вернёт Bitmap.

Используем собственные шрифты

Напишем практический пример создания приложения, в котором будут использоваться собственные шрифты, не входящие в стандартную библиотеку шрифтов Android. Для этого мы упакуем нужные шрифты вместе с приложением. Поместим в каталог assets/fonts файлы шрифтов (можно скачать бесплатные шрифты с сайтов 1001 Free Fonts или Urban Fonts ).

В файл разметки добавим пару текстовых полей с заготовленным текстом для вывода этого текста с нашим шрифтом.

В классе активности загрузим объект EditText из ресурсов, а затем создадим объект Typeface, используя вызов статического метода Typeface.createFromAsset(). Метод createFromAsset() принимает два параметра:

  • объект AssetManager, который можно получить вызовом метода getAssets()
  • путь к файлу актива.
Читайте также:  Pocketbook 701 версия андроид

Например, загрузить шрифт для текстового поля EditText можно следующим способом:

Запустив проект, мы увидим в текстовых полях надписи Happy New Year! и Meow!, выводимые нашими собственными шрифтами.

Пример для фрагмента.

Загрузка локальных файлов из активов в WebView

Если нужно загрузить локальные страницы и изображения из активов в WebView, то можно использовать префикс file://android_asset. Подробнее смотрите в статье про WebView.

Получаем список файлов в папке assets

Можно получить список файлов, которые находятся в папке assets. Для быстрой проверки кода я вручную скопировал в папку два файла:

Кроме ваших файлов, также возвращаются странные папки /images, /sounds, /webkit. Учитывайте это в своих проектах. Так как в папке можно создавать собственные подпапки, то можно воспользоваться вспомогательным методом:

Ограничение на размер файлов

По сети гуляет информация, что существует ограничение в 1 Мб на размер файлов в папке assets. При превышении размера у вас может появиться ошибка:

Я не сталкивался, поэтому рецепт решения проблемы не предлагаю.

Источник

Что делает файл: / / / Android asset / www / index.HTML-код означает?

Я хочу знать, что значит file:/// означает При загрузке html-файла из папки assets в android

это абсолютное имя пути, которое указывает на корневой каталог?

Я видел это в учебнике для phonegap, кстати.

6 ответов

file:/// — это URI (Uniform Resource Identifier), который просто отличается от стандартного URI, который мы все знаем слишком хорошо — http:// .

это означает абсолютное имя пути, указывающее на корневой каталог в любой среде, но в контексте Android это соглашение, чтобы сказать Android run-time сказать»здесь каталог www есть файл под названием index.html расположенном в

Если кто-то использует AndroidStudio, убедитесь, что папка assets помещена в

Читайте также:  Sixaxis controller для андроид

app/src/main / активы

URI-код «file:///android_asset/» указывает на YourProject/app/src/main/assets/ .

Примечание: android_asset/ использует единственное число (актив) и src/main/assets использует множественное (активов).

Предположим, у вас есть файл YourProject/app/src/main/assets/web_thing.html что вы хотели бы отобразить в WebView. Вы можете обратиться к нему так:

код выше может быть расположен в папке активность класс, возможно, в onCreate метод.

здесь руководство общий структура каталогов проекта android, которая помогла мне понять этот ответ.

это на самом деле называется file:///android_asset/index.html

file:///android_assets/index.html даст вам ошибку построения.

считайте отредактировать заголовок вопрос

что значит файл:/ / / android_asset / index.HTML-код означает

Я использую Android Studio (Eclipse с ADT не может работать должным образом из-за проблемы сборки).

Источник

Оцените статью