Assets (Активы)
По умолчанию проект в студии не содержит данную папку. Чтобы её создать, выберите меню File | New | Folder | Assets Folder.
Чтение файлов
Для доступа к файлам используется класс AssetManager. Пример для чтения текстового файла.
Для доступа к графическому файлу из актива можно использовать следующий код:
Вы также можете загрузить изображение в Bitmap, используя BitmapFactory.decodeStream(), вместо Drawable.
Функция-расширение для Kotlin, которая вернёт Bitmap.
Используем собственные шрифты
Напишем практический пример создания приложения, в котором будут использоваться собственные шрифты, не входящие в стандартную библиотеку шрифтов Android. Для этого мы упакуем нужные шрифты вместе с приложением. Поместим в каталог assets/fonts файлы шрифтов (можно скачать бесплатные шрифты с сайтов 1001 Free Fonts или Urban Fonts ).
В файл разметки добавим пару текстовых полей с заготовленным текстом для вывода этого текста с нашим шрифтом.
В классе активности загрузим объект EditText из ресурсов, а затем создадим объект Typeface, используя вызов статического метода Typeface.createFromAsset(). Метод createFromAsset() принимает два параметра:
Например, загрузить шрифт для текстового поля EditText можно следующим способом:
Запустив проект, мы увидим в текстовых полях надписи Happy New Year! и Meow!, выводимые нашими собственными шрифтами.
Пример для фрагмента.
Загрузка локальных файлов из активов в WebView
Если нужно загрузить локальные страницы и изображения из активов в WebView, то можно использовать префикс file://android_asset. Подробнее смотрите в статье про WebView.
Получаем список файлов в папке assets
Можно получить список файлов, которые находятся в папке assets. Для быстрой проверки кода я вручную скопировал в папку два файла:
Кроме ваших файлов, также возвращаются странные папки /images, /sounds, /webkit. Учитывайте это в своих проектах. Так как в папке можно создавать собственные подпапки, то можно воспользоваться вспомогательным методом:
Ограничение на размер файлов
По сети гуляет информация, что существует ограничение в 1 Мб на размер файлов в папке assets. При превышении размера у вас может появиться ошибка:
Я не сталкивался, поэтому рецепт решения проблемы не предлагаю.
Ресурсы
Yii имеет встроенный механизм публикации ресурсов (asset). Он полезен в следующих случаях:
Note|Примечание: Для работы с ресурсами в корне вебсервера должна быть создана папка assets с правами
на запись для PHP.
Публикацией ресурсов активно пользуется сам фреймворк. Происходит это, например,
при использовании CLinkPager или CGridView.
Что находится в папке assets?
После нескольких запусков приложения в assets образуется примерно следующее содержимое:
Папки вида 1a6630a0 создаются для предотвращения конфликта имён ресурсов.
Здесь 1a6630a0 — хеш от полного пути к папке, в которой размещён
подключаемый ресурс.
Публикация ресурсов
Для публикации ресурса или папки с ресурсами используется метод
CAssetManager::publish(), принимающий следующие параметры:
Возвращается абсолютный URL опубликованного ресурса.
Note|Примечание:
При публикации отдельного ресурса, во избежание ненужного копирования проверяется
время его модификации. При обновлении ресурса автоматически происходит его перепубликация.
При публикации папки, её содержимое копируется рекурсивно. При этом метод проверяет
только наличие папки с таким же именем, но не отдельных ресурсов. То есть при изменении
ресурсов в этой папке её содержимое заново опубликовано не будет.
Примеры публикации и подключения ресурсов
JavaScript
Изображение
Получение путей и URL к уже опубликованным ресурсам
Для получения пути или URL опубликованного ресурса можно воспользоваться
CAssetManager::getPublishedPath() и CAssetManager::getPublishedUrl() соответственно.
Методы принимают два параметра:
Размер папки assets и её очистка
Очищать папку assets полностью безопасно и даже рекомендуется это делать при
обновлении фреймворка.
Yii Framework
Папка assets
Папка assets
Сообщение xoma_204 » 2014.02.23, 21:02
Re: Папка assets
Сообщение anton44eg » 2014.02.23, 21:06
Re: Папка assets
Сообщение xoma_204 » 2014.02.23, 21:20
Re: Папка assets
Сообщение djoni » 2014.02.23, 22:39
Re: Папка assets
Сообщение xoma_204 » 2014.02.23, 23:29
Re: Папка assets
Сообщение djoni » 2014.02.23, 23:44
xoma_204 писал(а): Ладно чтобы более конкретно поставить вопрос, по ссылке читаю первую же строку
Смотрю на код, а причем тут вобще папка assets.
Вы же просто подключаете скрипты из папки css и js.
Какую именно функцию в данном примере выполняет эта папка assets?
Re: Папка assets
Сообщение xoma_204 » 2014.02.23, 23:50
Re: Папка assets
Сообщение djoni » 2014.02.23, 23:54
это статический вызов прописывайте хоть в модели,контроллере
Yii имеет встроенный механизм публикации ресурсов (asset). Он полезен в следующих случаях:
При оформлении кода как расширения, ресурсы которого содержатся в той же папке, что и код.
При использовании ресурсов за корнем вебсервера.
Для обработки ресурсов непосредственно перед публикацией. Например, сжатия CSS и JavaScript.
При использовании одного и того же ресурса множеством компонент (для исключения дубликатов).
Re: Папка assets
Сообщение dmg » 2014.02.23, 23:56
Re: Папка assets
Сообщение djoni » 2014.02.24, 00:02
Re: Папка assets
Сообщение xoma_204 » 2014.02.24, 00:04
Re: Папка assets
Сообщение vova07 » 2014.02.24, 00:14
Где и как прописывать очень подробно описано в доках, так что этот вопрос вы быстро решите.
Касательно общей идеи использования папки assets, очень коротко и надеюсь понятно:
Это наверное основные моменты для которых используется папка. Хотя список можно еще дополнить.
P.S. Пока писал уже ответили!
Re: Папка assets
Сообщение xoma_204 » 2014.02.24, 00:22
vova07 писал(а): Где и как прописывать очень подробно описано в доках, так что этот вопрос вы быстро решите.
Касательно общей идеи использования папки assets, очень коротко и надеюсь понятно:
Это наверное основные моменты для которых используется папка. Хотя список можно наверное еще дополнить.
Урок седьмой. Папка Assets
Сегодня мы с Вами поговорим о замечательном инструменте в арсенале Adobe Muse –папке Assets.
При создании сайта Adobe Muse генерирует несколько папок при экспорте в HTML, среди которых такие знакомые нам: image, css и scripts. Дело все в том, что поместить в эту папку файл возможно только уже после экспорта в HTML…
Это не позволяет нам работать с этим файлом в самом проекте Muse, а нам иногда это очень даже необходимо. Особенно это актуально для виджетов, ведь в нем часто приходится ссылается на различные файлы. Для этих целей и существует возможность помещать файлы в папку Assets.
Assets – это единственная папка, в которую возможно поместить нужные файлы и мы сможем на них указать относительный путь.
Для того, чтоб поместить файл в эту папку необходимо зайти в:
Теперь файл уже доступен в нашем проекте для использования. Его мы можем увидеть в панели инструментов во вкладке ресурсы и при необходимости переподвязать файл, или удалить, если Вы передумали его помещать.
Чем же эта папка так важна для виджетов? В коде виджета часто приходится ссылается на различные файлы для их последующего отображения, или использования в виджете. Этими файлами чаще всего бывают таблицы стилей css, файлы и библиотеки скриптов js.
Давайте разберем сразу на примере как это будет выглядеть:
Допустим Вам в бекграунд какого-то элемента не обходимо поместить картинку image.jpg. Делаем следующие действия:
Теперь мы можем сослаться на этот файл для отображения в бекграунде и это будет выглядеть следующим образом:
Yii Framework
Папка assets
Папка assets
Сообщение xoma_204 » 2014.02.23, 21:02
Re: Папка assets
Сообщение anton44eg » 2014.02.23, 21:06
Re: Папка assets
Сообщение xoma_204 » 2014.02.23, 21:20
Re: Папка assets
Сообщение djoni » 2014.02.23, 22:39
Re: Папка assets
Сообщение xoma_204 » 2014.02.23, 23:29
Re: Папка assets
Сообщение djoni » 2014.02.23, 23:44
xoma_204 писал(а): Ладно чтобы более конкретно поставить вопрос, по ссылке читаю первую же строку
Смотрю на код, а причем тут вобще папка assets.
Вы же просто подключаете скрипты из папки css и js.
Какую именно функцию в данном примере выполняет эта папка assets?
Re: Папка assets
Сообщение xoma_204 » 2014.02.23, 23:50
Re: Папка assets
Сообщение djoni » 2014.02.23, 23:54
это статический вызов прописывайте хоть в модели,контроллере
Yii имеет встроенный механизм публикации ресурсов (asset). Он полезен в следующих случаях:
При оформлении кода как расширения, ресурсы которого содержатся в той же папке, что и код.
При использовании ресурсов за корнем вебсервера.
Для обработки ресурсов непосредственно перед публикацией. Например, сжатия CSS и JavaScript.
При использовании одного и того же ресурса множеством компонент (для исключения дубликатов).
Re: Папка assets
Сообщение dmg » 2014.02.23, 23:56
Re: Папка assets
Сообщение djoni » 2014.02.24, 00:02
Re: Папка assets
Сообщение xoma_204 » 2014.02.24, 00:04
Re: Папка assets
Сообщение vova07 » 2014.02.24, 00:14
Где и как прописывать очень подробно описано в доках, так что этот вопрос вы быстро решите.
Касательно общей идеи использования папки assets, очень коротко и надеюсь понятно:
Это наверное основные моменты для которых используется папка. Хотя список можно еще дополнить.
P.S. Пока писал уже ответили!
Re: Папка assets
Сообщение xoma_204 » 2014.02.24, 00:22
vova07 писал(а): Где и как прописывать очень подробно описано в доках, так что этот вопрос вы быстро решите.
Касательно общей идеи использования папки assets, очень коротко и надеюсь понятно:
Это наверное основные моменты для которых используется папка. Хотя список можно наверное еще дополнить.




