Ресурсы в Android — это внешние данные, которые используются приложением, но не включены напрямую в код. Они отделены от логики приложения и хранятся в подкаталогах папки res в корневом каталоге проекта. Android предоставляет набор инструментов для доступа к ресурсам и управления ими.
Ресурсы используются для:
- Локализации приложения (поддержка разных языков).
- Адаптации под разные размеры и разрешения экранов.
- Отделения дизайна от логики.
- Упрощения обновления интерфейса.
В ресурсах можно хранить следующие типы данных:
- Drawable: Различные графические элементы, такие как изображения (PNG, JPEG, GIF), XML-определения форм, переключателей, и т.п. Хранятся в подкаталогах
drawable.
xml
- Layout: XML-файлы, описывающие структуру пользовательского интерфейса Activity, Fragment или View. Хранятся в подкаталогах
layout.
xml
- Mipmap: Оптимизированные изображения для иконок приложения различных плотностей. Предпочтительнее использовать для иконок, чем
drawable. Хранятся в подкаталогах mipmap. (Например, mipmap-hdpi, mipmap-xhdpi)
- String: Строковые значения, используемые в приложении. Позволяют легко локализовать текст. Хранятся в XML-файлах в подкаталогах
values (например, values/strings.xml).
xml
- Style: Определения стилей для View. Позволяют централизованно управлять атрибутами внешнего вида. Хранятся в XML-файлах в подкаталогах
values (например, values/styles.xml).
xml
- Theme: Определения тем, которые применяются ко всей Activity или приложению. Наследуются от стилей. Хранятся в XML-файлах в подкаталогах
values.
- Array: Массивы строковых значений, целых чисел или ссылок на ресурсы. Хранятся в XML-файлах в подкаталогах
values.
xml
- Color: Определения цветов в формате шестнадцатеричных значений или ссылок на другие цвета. Хранятся в XML-файлах в подкаталогах
values (например, values/colors.xml).
xml
- Dimension: Определения размеров, таких как маржины, паддинги, размеры шрифтов, и т.д. с указанием единиц измерения (dp, sp, pt, px, mm, in). Хранятся в XML-файлах в подкаталогах
values (например, values/dimens.xml).
xml
- Raw: Произвольные файлы в необработанном виде (аудио, видео, текстовые файлы и т.п.). Доступ к ним осуществляется через поток ввода. Хранятся в подкаталогах
raw.
- XML: Произвольные XML-файлы, которые могут быть разобраны в приложении (например, файлы конфигурации). Хранятся в подкаталогах
xml.
Доступ к ресурсам осуществляется через автоматически сгенерированный класс R. Например, для доступа к строковому ресурсу app_name:
java
kotlin
Использование ресурсов позволяет создавать гибкие и легко поддерживаемые Android-приложения.