- Полный список
- Русские Блоги
- Android Studio (9) -Добавить ресурсы приложения
- Добавить ресурсы приложения
- Добавить файл ресурсов XML
- Добавление каталога ресурсов
- Изменить каталог ресурсов
- Консолидация ресурсов
- Интеллектуальная рекомендация
- Используйте шаблон состояния вместо if else
- Проектирование архитектуры: схема проектирования уровня балансировки нагрузки (5) — установка одного узла LVS
- Рыба образования, средняя школа закончила в учебном класс, как найти первую работу.
- Синглтон паттерн в питоне
- Java Counce Collection
- Вам также может понравиться
- динамический прокси-сервер jdk (Proxy, InvocationHandler), включая исходный код $ Proxy0
- Юля: Об изменениях в Array 1.0
- студия Android генерирует статическую библиотеку jni
- Nginx 502 раствор
- Java вызывает SMS-интерфейс WebService
Полный список
В этом уроке мы:
— узнаем, зачем нужна папка res/values, что в ней можно хранить и как использовать
В подпапках res хранятся различные ресурсы приложения. Мы уже отлично знаем про layout-файлы в папке res/layout. Я упоминал про папку res/drawable с density-суффиксами – в ней хранятся картинки. Теперь обратим внимание на папку res/values. Она предназначена для хранения ресурсов (констант) различных типов. Мы рассмотрим типы String и Color.
Project name: P0111_ResValues
Build Target: Android 2.3.3
Application name: ResValues
Package name: ru.startandroid.develop.resvalues
Create Activity: MainActivity
Откроем файл res/values/strings.xml
Мы видим два элемента типа String:
hello – по умолчанию он использован в свойстве Text в TextView в main.xml. И соответственно TextView отображает значение этого элемента.
app_name – по умолчанию используется как заголовок для приложения и Activity. Это указывается в манифест-файле, который мы еще не разбирали.
На эти элементы можно кликнуть и увидеть справа, что они собой представляют: имя (Name) и значение (Value)
Name – это ID. Оно должно быть уникальным, и для него в R.java создается константа, чтобы мы могли иметь доступ к этому String-элементу.
Если мы посмотрим XML-содержимое файла strings.xml (вкладка снизу – аналогично как для main.xml), то видим, что там все прозрачно и просто. Попробуем и мы использовать ресурсы.
Для начала создадим такой экран в main.xml:
Экран разделен на две одинаковые половины, содержащие LinearLayout, Button и TextView. Для LinearLayout мы укажем фоновый цвет, а для TextView и Button – изменим текст. Реализуем это с помощью ресурсов. Причем View-элементы верхней части мы будем настраивать вручную через properties, а нижнюю часть попробуем настроить программно.
Давайте создадим свой файл с ресурсами в папке values, название пусть будет myres.
После создания открылся редактор файла. Добавлять элемент просто – жмем кнопку Add и выбираем тип, а справа пишем имя и значение. Создадим 4 String-элемента и 2 Color-элемента:
Для практики можете создать вручную, а можете просто вставить этот текст в содержимое myres.xml. Не забудьте сохранить. Заглянем в R.java, убедимся, что здесь все появилось:
Ок, ресурсы созданы, настроим View-элементы на их использование. Сначала верхние:
llTop – в Properties находим свойство Background, жмем кнопку выбора (три точки), в ветке Color выделяем llTopColor и жмем OK
tvTop – для свойства Text откройте окно выбора и найдите там tvTopText.
btnTop — для свойства Text откройте окно выбора и найдите там btnTopText.
Цвет верхней части изменился и тексты поменялись на те, что мы указывали в myres.xml.
Чтобы изменить нижнюю часть, будем кодить. Сначала находим элементы, потом присваиваем им значения.
Обратите внимание на то, что для смены текста используется метод setText. Только это не тот же setText, что мы использовали, когда задавали текст напрямую. Этот на вход принимает ID и мы используем R.java, который хранит ID всех наших ресурсов. Т.е. методы называются одинаково, но на вход принимают разные параметры. Это нормальное явление в Java.
Сохраняем, запускаем и проверяем. Теперь тексты и цвета взяты из файла ресурсов. Вы можете изменить содержимое myres.xml (например текст для верхней кнопки), сохранить, запустить приложение и увидите изменения.
Иногда необходимо в коде получить не ID ресурса, а его значение. Это делается следующим образом:
Выражение вернет текст «Нижний текст», соответствующий String-ресурсу с name = tvBottomText.
Напоследок скажу пару слов об организации файлов для хранения ресурсов. Мы сейчас создали String и Color ресурсы в одном файле myres.xml, но рекомендуется их разделять по разным файлам (например strings.xml, colors.xml . ), и в дальнейшем я буду следовать этой рекомендации. Для этого есть причины, позже мы в этом убедимся.
Имена ресурсов сквозные для всех файлов в папке res/values. Т.е. вы не можете в разных файлах создать ресурс с одним именем и типом.
Имена файлов ресурсов могут быть произвольными и файлов можно создавать сколько угодно. В R.java попадут все ресурсы из этих файлов.
На следующем уроке:
— рассмотрим логи приложения и всплывающие сообщения
Присоединяйтесь к нам в Telegram:
— в канале StartAndroid публикуются ссылки на новые статьи с сайта startandroid.ru и интересные материалы с хабра, medium.com и т.п.
— в чатах решаем возникающие вопросы и проблемы по различным темам: Android, Kotlin, RxJava, Dagger, Тестирование
— ну и если просто хочется поговорить с коллегами по разработке, то есть чат Флудильня
— новый чат Performance для обсуждения проблем производительности и для ваших пожеланий по содержанию курса по этой теме
Источник
Русские Блоги
Android Studio (9) -Добавить ресурсы приложения
Добавить ресурсы приложения
Ресурсы приложения (такие как растровые изображения и макеты) организованы в каждый модуль res/ В специфическом для типа каталоге. Вы также можете добавить альтернативные версии каждого файла, оптимизированного для разных конфигураций устройства (например, растровые изображения для версий с высоким разрешением экранов высокой плотности).
Android Studio может помочь вам добавлять новые и альтернативные ресурсы несколькими способами, в зависимости от типа добавляемого вами ресурса. На этой странице объясняется, как добавлять базовые файлы ресурсов, как изменить расположение ресурсов и как работает консолидация ресурсов.
Вы также должны увидеть следующие страницы для получения подробной информации о том, как создавать определенные типы ресурсов:
Для получения информации о том, как ссылаться на ресурсы из кода приложения, см.Предоставить ресурсы。
Добавить файл ресурсов XML
Хотя на указанных выше страницах описаны рабочие процессы, настроенные для каждого типа ресурса, вы можете добавить любой файл ресурса XML, выполнив следующие действия:
ВПроект «В окне выберите модуль целевого приложения (вAndroidилипроектПосмотреть) и выбратьФайл> Создать> Файл ресурсов Android。
- Имя файла: Введите имя файла XML (не нужно .xml Суффикс).
- Тип ресурса: Выберите тип ресурса, который будет создан.
- Корневой элемент: Если применимо, выберите корневой XML-элемент файла. Некоторые типы ресурсов поддерживают только один тип корневого элемента, поэтому его нельзя редактировать в зависимости от типа, выбранного выше.
- Исходный набор: Выберите файл для сохраненияИсходный набор。
- Имя каталога: Каталог должен быть назван так, чтобы соответствовать типу ресурса и спецификатору конфигурации. Следовательно, вам не следует редактировать это, если вы не добавили квалификатор конфигурации к имени каталога вручную (см.Доступные классификаторы)。
- Доступные классификаторы: Вы можете сделать это, щелкнув по классификатору в списке слева и нажав «Добавить «Чтобы добавить их вместо ввода квалификаторов конфигурации для каталогов макетов
。
Советы:Щелкните правой кнопкой мышиresКаталог существующих ресурсов в папке, затем выберите «Новый «>» Тип файла имени файла «, Это откроетНовый файл ресурсов «Упрощенная версия диалогового окна, которое зависит от типа требуемого ресурса.
Советы:Некоторые сложные ресурсы требуют нескольких файлов ресурсов XML. Например, анимированные векторные рисунки имеют векторные рисунки и анимированные объекты, для которых требуется как минимум три файла XML. Если вам нужно повторно использовать один или несколько из них, вы можете сохранить три отдельных файла XML. Однако, если файл XML используется только для этого анимированного векторного рисования, вы можете использовать встроенный формат ресурса, предоставленный в инструменте упаковки активов Android (AAPT). С AAPT вы можете определить все три ресурса в одном XML-файле. Для получения дополнительной информации см.Встроенные сложные XML-ресурсы。
Добавление каталога ресурсов
Если вам нужно добавить новый каталог ресурсов, выполните следующие действия:
ВПроект «Окно, щелкните целевой модуль приложения, а затем выберите «Файл> Создать> Каталог ресурсов Android。
- Имя каталога: Каталог должен быть назван так, чтобы он соответствовал комбинации типа ресурса и спецификатора конфигурации. Следовательно, вам не следует редактировать это, если вы не добавите квалификатор конфигурации в имя каталога вручную (используйте «Доступные классификаторы »)。
- Тип ресурса:Выберите тип ресурса, который вы хотите создать.
- Исходный набор:Выберите исходный набор нужного макета.
- Доступные классификаторы:Вы можете сделать это, щелкнув по классификатору в списке слева и нажав «Добавить «Чтобы добавить их вместо ввода квалификаторов конфигурации для каталогов макетов
。
Изменить каталог ресурсов
По умолчанию ваши ресурсы расположены. Например, ресурсы основного исходного набора модуля расположены в нем, а ресурсы исходного набора отладки находятся в нем. module-name/src/source-set-name/res/ src/main/res/ src/debug/res/
Тем не менее, вы можете использовать build.gradle из res.srcDirs Свойства изменяют эти пути в любое другое место (относительно файла) sourceSets <> , Например:
android <
sourceSets <
main <
res.srcDirs = [ ‘resources/main’ ]
>
debug <
res.srcDirs = [ ‘resources/debug’ ]
>
>
>
Вы также можете указать несколько каталогов ресурсов для исходного набора, а затем инструмент сборки объединит их вместе. Например:
android <
sourceSets <
main <
res.srcDirs = [ ‘res1’ , ‘res2’ ]
>
>
>
Примечание:Если два или более каталогов ресурсов содержат один и тот же файл ресурсов, тоКонсолидация ресурсовВ это время происходит ошибка.
Для получения дополнительной информации читайте оИнформация об источнике。
Консолидация ресурсов
Ресурсы в итоговом APK-файле могут быть из трех разных источников:
Когда все ресурсы из каждого исходного набора или библиотеки уникальны, они добавляются в окончательный APK. Ресурс считается уникальным, если его имя файла является уникальным в пределахужеегоТип ресурсаКаталог иResource Qualifier(Если определено).
Если существует две или более совпадающих версий одного и того же ресурса, в окончательный APK-файл включается только одна версия. Инструмент сборки выбирает версию для сохранения в соответствии со следующим порядком приоритетов (самый высокий приоритет слева):
Варианты сборки> Типы сборки> Стиль продукта> Основные исходные наборы> Зависимости библиотеки
Например, если основной исходный набор содержит:
Типы сборки отладки включают в себя:
Тогда окончательный APK включает в себя res/layout/foo.xml Отладка типов сборки и res/layout-land/foo.xml Основной источник установлен.
Однако, если конфигурация сборки указывает данный исходный наборНесколько папок ресурсовИ между этими источниками возникает конфликт, возникает ошибка, и объединение не выполняется, поскольку каждый каталог ресурсов имеет одинаковый приоритет.
Интеллектуальная рекомендация
Используйте шаблон состояния вместо if else
Большинство разработчиков все еще используютif elseСтруктура процесса, виделиjdonизbanqСтатья написана Большим Братом, используяcommand,aopЗамена шаблонаif elseСтруктура процесса. Я не совсем понял эт.
Проектирование архитектуры: схема проектирования уровня балансировки нагрузки (5) — установка одного узла LVS
1 Обзор Предыдущая статья «Проектирование архитектуры: проектирование уровня балансировки нагрузки (4) — Принципы LVS» (http://blog.csdn.net/yinwenjie/article/details/46845997), мы предста.
Рыба образования, средняя школа закончила в учебном класс, как найти первую работу.
Self-брат Я девять ноль, теперь занимается разработкой веб-конца Java. Некоторое понимание и восприятие учебных курсов. Учебное заведение является ямой, дорога, что вы уже прошли, только вы знаете, дл.
Синглтон паттерн в питоне
Дизайн шаблона Шаблон дизайна — это краткое изложение предыдущей работы, которое, как правило, широко распространено людьми и является зрелым решением конкретной проблемы. Он предназначен для многораз.
Java Counce Collection
TRUEEWAP основан на реализации красных навигаций. Это отображение отсортировано в соответствии с его природооформленным порядком или отсортировано в соответствии с компаратором, предусмотренным при со.
Вам также может понравиться
динамический прокси-сервер jdk (Proxy, InvocationHandler), включая исходный код $ Proxy0
1. Связанные классы и методы: java.lang.reflect.Proxy, Прокси предоставляет статические методы для создания динамических прокси-классов и экземпляров. newProxyInstance() Возвращает экземпляр прокси-кл.
Юля: Об изменениях в Array 1.0
Версии до 1.0, например 0.2-0.6, Но теперь 1.0 это сообщит об ошибке. Это использование претерпело серьезные изменения! такие как: Это можно считать серьезным изменением.
студия Android генерирует статическую библиотеку jni
Android Сяобай, который только что вошел в общество, описывает, как использовать студию Android для создания статической библиотеки jni. 1. Подготовка: Сначала установите ndk, сначала сами Baidu, позж.
Nginx 502 раствор
Общие решения Nginx 502 Bad Gateway следующие: Nginx 502 Ошибка 1: Количество сайтов велико, а количество PHP-CGI мало. Для этой 502 ошибки просто увеличивайте количество процессов PHP-CGI. В частност.
Java вызывает SMS-интерфейс WebService
1. Описание интерфейса WebService Отправьте в виде http-сообщения, выше — информация о запросе, а ниже — возвращаемое значение. Представлен раздел возвращаемого значения документа интерфейса. 2. Код J.
Источник