Ресурсы в Андроид

Содержание

Слайд 2

Содержание

Предоставление ресурсов
Группирование типов ресурсов
Имена каталогов ресурсов
Предоставление альтернативных ресурсов
Создание псевдонимов ресурсов
Алгоритм выбора ресурсов
Доступ

Содержание Предоставление ресурсов Группирование типов ресурсов Имена каталогов ресурсов Предоставление альтернативных ресурсов
к ресурсам

Слайд 3

Предоставление ресурсов

Обязательно необходимо экспортировать из кода ресурсы приложения, такие как изображения и

Предоставление ресурсов Обязательно необходимо экспортировать из кода ресурсы приложения, такие как изображения
строки, для последующей их независимой обработки.
Следует также обеспечить альтернативные ресурсы для определенных конфигураций устройств, группируя их в каталогах ресурсов со специальными именами.
В режиме выполнения Android использует соответствующие ресурсы с учетом текущей конфигурации. Например, можно предоставлять другой макет пользовательского интерфейса в зависимости от размера экрана или различные строки в зависимости от настройки языка.

Слайд 4

Пример: локаль

Для профессионально написанного приложения лучше использовать локализацию.
Не будем менять строчку Hello, World,

Пример: локаль Для профессионально написанного приложения лучше использовать локализацию. Не будем менять
которая будет считаться строкой по умолчанию, а создадим новый локализованный ресурс.
Это даст нам дополнительное преимущество, если пользователь запустит приложение на телефоне с английской локалью, то он увидит текст на знакомом ему языке.
Если приложение запустит русский пользователь, то он увидит текст на русском языке. 
не будем трогать файл strings.xml в каталоге res/values

Locale Application
Hello world!

русской локализации необходимо создать новый подкаталог values-ru в том же каталоге res: res/values-ru/strings.xml 

Локализованное приложение
Здравствуй, Мир!

Слайд 5

Группирование типов ресурсов

Следует поместить ресурсы каждого типа в определенный подкаталог каталога res/ вашего проекта.

Группирование типов ресурсов Следует поместить ресурсы каждого типа в определенный подкаталог каталога
В качестве примера приведена иерархия файлов для простого проекта:
MyProject/
src/
MyActivity.java
res/
drawable/
graphic.png
layout/
main.xml
info.xml
mipmap/
icon.png
values/
strings.xml
Как видно в этом примере, каталог res/ содержит все ресурсы (в подкаталогах): ресурс-изображение, два ресурса-макета, каталоги mipmap/ для значков запуска и файл строк.

Слайд 6

Имена каталогов ресурсов

Имена каталогов ресурсов

Слайд 9

Предоставление альтернативных ресурсов

Ресурсы, сохраненные в подкаталогах, которые описаны в таблице являются ресурсами

Предоставление альтернативных ресурсов Ресурсы, сохраненные в подкаталогах, которые описаны в таблице являются
«по умолчанию».
Таким образом, эти ресурсы определяют дизайн и содержимое приложения по умолчанию.
Однако различные типы устройств Android могут вызывать различные типы ресурсов.
Почти каждое приложение должно предоставлять альтернативные ресурсы, чтобы поддерживать определенные конфигурации устройств.
Например, необходимо включить альтернативные графические ресурсы для экранов с разной плотностью растра и альтернативные ресурсы для разных языков.
В режиме выполнения Android определяет конфигурацию устройства и загружает соответствующие ресурсы для приложения.

Слайд 10

Чтобы указать альтернативы для конкретных конфигураций набора ресурсов, выполните следующие действия:

Создайте новый

Чтобы указать альтернативы для конкретных конфигураций набора ресурсов, выполните следующие действия: Создайте
каталог в каталоге res/ с именем следующего вида <имя_ресурса>-<квалификатор_конфигурации>.
 – имя каталога соответствующих ресурсов по умолчанию (определено в таблице 1).
 – имя, которое указывает определенную конфигурацию, для которой должны использоваться эти ресурсы (определено в таблице 2).
Можно добавлять несколько квалификаторов .
Разделяйте их знаком дефиса.
Сохраните соответствующие альтернативные ресурсы в этом новом каталоге.
Файлы ресурсов должны иметь имена, точно совпадающие с именами файлов ресурсов по умолчанию.
В качестве примера здесь приведено несколько ресурсов по умолчанию и альтернативных ресурсов:
res/
drawable/
icon.png
background.png
drawable-hdpi/
icon.png
background.png

Слайд 11

Комментарий

Квалификатор hdpi указывает, что ресурсы в этом каталоге предназначены для устройств, оснащенных экраном высокой

Комментарий Квалификатор hdpi указывает, что ресурсы в этом каталоге предназначены для устройств,
плотности.
Изображения в каждом из этих каталогов для графических объектов имеют размер для определенной плотности экрана, но имена файлов полностью совпадают.
Таким образом, идентификатор ресурса, который указывает на изображение icon.png или background.png, всегда одинаков, но Android выбирает версию каждого ресурса, которая оптимально соответствует текущему устройству, сравнивая информацию о конфигурации устройства с квалификаторами в имени каталога ресурсов.
Android поддерживает несколько квалификаторов конфигурации, позволяя добавлять несколько квалификаторов к одному имени каталога, разделяя квалификаторы дефисом.
В таблице 2 перечислены допустимые квалификаторы конфигурации в порядке приоритета — если используется несколько квалификаторов для каталога ресурсов, необходимо добавлять их к имени каталога в том порядке, в котором они перечислены в таблице.

Слайд 12

Квалификаторы для каталога ресурсов

Квалификаторы для каталога ресурсов

Слайд 13

Квалификаторы для каталога ресурсов

Квалификаторы для каталога ресурсов

Слайд 14

Квалификаторы для каталога ресурсов

Квалификаторы для каталога ресурсов

Слайд 15

Правила квалификатора имени

Здесь приведены некоторые правила использования имен квалификаторов:
Можно указать несколько квалификаторов

Правила квалификатора имени Здесь приведены некоторые правила использования имен квалификаторов: Можно указать
для одного набора ресурсов, разделяя их дефисами.
Например, drawable-en-rUS-land применяется к устройствам в США, на английском языке в альбомной ориентации.
Квалификаторы должны идти в том же порядке, в котором они перечислены в таблице
Например:
Неправильно: drawable-hdpi-port/
Правильно: drawable-port-hdpi/
Нельзя использовать вложенные каталоги альтернативных ресурсов. Например, нельзя иметь каталог res/drawable/drawable-en/.
Значения не зависят от регистра букв. Компилятор ресурсов преобразует имена каталогов в нижний регистр перед обработкой, чтобы избежать проблем в файловых системах, не учитывающих регистр.
Прописные буквы в именах служат исключительно для удобочитаемости.

Слайд 16

Правила квалификатора имени

Поддерживается только одно значение квалификатора каждого типа.
Например, если требуется

Правила квалификатора имени Поддерживается только одно значение квалификатора каждого типа. Например, если
использовать одинаковые графические файлы для испанского и французского языков, нельзя создавать каталог с именем drawable-rES-rFR/.
Вместо этого необходимо создать два каталога ресурсов, например, drawable-rES/ и drawable-rFR/, которые содержат соответствующие файлы.
Однако не обязательно фактически копировать одинаковые файлы в оба каталога. Вместо этого можно создать псевдоним для ресурса.
После сохранения альтернативных ресурсов в каталоги с именами этих квалификаторов Android автоматически применяет ресурсы в приложении на основе текущей конфигурации устройства.
При каждом запросе ресурсов Android проверяет каталоги альтернативных ресурсов, которые содержат файл запрошенного ресурса, затем находят наиболее подходящий ресурс (обсуждается ниже).
Если нет альтернативных ресурсов, которые соответствуют конкретной конфигурации устройства, Android использует ресурсы по умолчанию (набор ресурсов для конкретного типа ресурсов, которые не содержат квалификатора конфигурации).

Слайд 17

Создание псевдонимов ресурсов

Ресурс, предназначенный для нескольких конфигураций устройства (но не являющийся ресурсом

Создание псевдонимов ресурсов Ресурс, предназначенный для нескольких конфигураций устройства (но не являющийся
по умолчанию), следует помещать только в один каталог альтернативных ресурсов.
Вместо этого можно (в некоторых случаях) создать альтернативный ресурс, действующий в качестве псевдонима для ресурса, сохраненного в каталоге ресурсов по умолчанию.
Например, представьте, что имеется значок приложения, icon.png, и требуется иметь уникальные версии этого значка для разных языков.
Однако в двух языках, канадском английском и канадском французском, требуется использовать одинаковую версию.
Можно предположить, что требуется скопировать одно изображение в каталоги ресурсов для обоих языков, но это неверно.
Вместо этого можно сохранить изображение для обоих языков, как icon_ca.png (любое имя, кроме icon.png), и поместить его в каталог по умолчанию res/drawable/.
Затем создайте файл icon.xml в каталогах res/drawable-en-rCA/ и res/drawable-fr-rCA/ который ссылается на ресурс icon_ca.png с помощью элемента .
Это позволяет хранить только одну версию файла PNG и два маленьких файла XML, которые указывают на него.

Слайд 18

Пример файла XML

Графические объекты
Чтобы создать псевдоним для существующего графического объекта, используйте

Пример файла XML Графические объекты Чтобы создать псевдоним для существующего графического объекта,
элемент . Например:

Если сохранить этот файл под именем icon.xml (в каталоге альтернативных ресурсов, например,res/drawable-en-rCA/), он компилируется в ресурс, на который можно ссылаться с помощью R.drawable.icon, но фактически он является псевдонимом для ресурса R.drawable.icon_ca (который сохранен в каталоге res/drawable/).

Слайд 19

Макет

Чтобы создать псевдоним для существующего макета, используйте элемент  , заключенный в теги .
Например:

Макет Чтобы создать псевдоним для существующего макета, используйте элемент , заключенный в
version="1.0" encoding="utf-8"?>  
Если сохранить этот файл под именем main.xml, он компилируется в ресурс, на который можно ссылаться с помощью R.layout.main, но фактически он является псевдонимом для ресурса R.layout.main_ltr .

Слайд 20

Строки и другие простые значения

Чтобы создать псевдоним для существующей строки используйте идентификатор

Строки и другие простые значения Чтобы создать псевдоним для существующей строки используйте
ресурса нужной строки в качестве значения для новой строки.
Например:
  Hello   @string/hello
Ресурс R.string.hi теперь является псевдонимом для R.string.hello.
Другие простые значения работают аналогично.
Например, цвет:
  #f00   @color/red

Слайд 21

Обеспечение оптимальной совместимости устройства с ресурсами

Для того чтобы приложение поддерживало несколько конфигураций

Обеспечение оптимальной совместимости устройства с ресурсами Для того чтобы приложение поддерживало несколько
устройств, очень важно всегда предоставлять ресурсы по умолчанию для каждого типа ресурсов, используемых приложением.
Например, если приложение поддерживает несколько языков, всегда включайте каталог values/ (в котором сохранены строки) без квалификатора языка и региона.
Если вместо этого поместить все файлы строк в каталоги с квалификаторами языка и региона, приложение закроется с ошибкой при запуске на устройстве, на котором установлен язык, отсутствующий в ваших строках.
Но как только вы предоставили ресурсы values/ по умолчанию, приложение будет работать правильно (даже если пользователь не понимает этого языка, это лучше, чем завершение с ошибкой).
Таким же образом, если вы предоставляете различные ресурсы макета в зависимости от ориентации экрана, следует указать одну ориентацию в качестве ориентации по умолчанию.

Слайд 22

Оптимальная совместимость с устройствами

Для обеспечения оптимальной совместимости с устройствами обязательно предоставляйте ресурсы

Оптимальная совместимость с устройствами Для обеспечения оптимальной совместимости с устройствами обязательно предоставляйте
по умолчанию, которые приложение может правильно выполнять.
Затем создайте альтернативные ресурсы для определенных конфигураций устройств с помощью квалификаторов конфигурации.
Из этого правила есть одно исключение: Если в приложении для параметра minSdkVersion установлено значение 4 или выше, не требуется предоставлять графические ресурсы по умолчанию при предоставлении альтернативных графических ресурсов с квалификатором плотность экрана.
Даже без графических ресурсов по умолчанию Android может найти наиболее подходящую альтернативную плотность экрана и масштабировать растровые изображения при необходимости.
Однако для оптимальной работы на устройствах всех типов следует предоставить альтернативные графические ресурсы для всех трех типов плотности.

Слайд 23

Как Android находит наиболее подходящий ресурс

Когда вы запрашиваете ресурс, для которого предоставлена

Как Android находит наиболее подходящий ресурс Когда вы запрашиваете ресурс, для которого
альтернатива, Android выбирает альтернативный ресурс для использования в режиме выполнения в зависимости от текущей конфигурации устройства.
Чтобы продемонстрировать, как Android выбирает альтернативный ресурс, допустим, что имеются следующие каталоги графических ресурсов, каждый из которых содержит различные версии одинаковых изображений:
drawable/
drawable-en/
drawable-fr-rCA/
drawable-en-port/
drawable-en-notouch-12key/
drawable-port-ldpi/
drawable-port-notouch-12key/
И допустим, что устройство имеет следующую конфигурацию:
Язык = en-GB  Ориентация экрана = port  Плотность пикселов на экране = hdpi  Тип сенсорного экрана = notouch  Основной способ ввода текста = 12key

Слайд 24

Алгоритм выбора ресурсов

Сравнивая конфигурацию устройства с доступными альтернативными ресурсами, Android выбирает графику

Алгоритм выбора ресурсов Сравнивая конфигурацию устройства с доступными альтернативными ресурсами, Android выбирает
из каталога drawable-en-port.
Система приходит к решению об используемых ресурсах на основе следующей логики:
Исключение файлов ресурсов, которые противоречат конфигурации устройства.
Каталог drawable-fr-rCA/ исключается, так как он противоречит языку en-GB.
drawable/
drawable-en/
drawable-fr-rCA/
drawable-en-port/
drawable-en-notouch-12key/
drawable-port-ldpi/
drawable-port-notouch-12key/

Слайд 25

Алгоритм выбора ресурсов

Указание (следующего) квалификатора с высшим приоритетом в списке (таблицы). (Начать

Алгоритм выбора ресурсов Указание (следующего) квалификатора с высшим приоритетом в списке (таблицы).
с MCC, затем двигаться вниз.)
Содержат ли какие-либо каталоги ресурсов этот квалификатор?
Если Нет, вернуться к шагу 2 и найти следующий квалификатор. (В нашем примере получается ответ «нет», пока не достигнут квалификатор языка.)
Если Да, перейти к шагу 4.
Исключить каталоги ресурсов, которые не содержат этого квалификатора.
В данном примере система исключает все каталоги, которые не содержат квалификатора языка:
drawable/
drawable-en/
drawable-en-port/
drawable-en-notouch-12key/
drawable-port-ldpi/
drawable-port-notouch-12key/

Слайд 26

Алгоритм выбора ресурсов

Вернуться и повторять шаги 2, 3 и 4, пока не

Алгоритм выбора ресурсов Вернуться и повторять шаги 2, 3 и 4, пока
останется только один каталог. В нашем примере следующим квалификатором, для которого есть совпадения, является ориентация экрана.
Поэтому исключаются ресурсы, не указывающие ориентацию экрана:
drawable-en/
drawable-en-port/
drawable-en-notouch-12key/
Остается каталог drawable-en-port.
Хотя эта процедура выполняется для каждого запрошенного ресурса, система дополнительно оптимизирует некоторые вопросы.
Одна из таких оптимизаций состоит в том, что поскольку конфигурация устройства известна, можно исключить альтернативные ресурсы, которые не могут подойти.
Например, если используется конфигурация с английским языком ("en"), все каталоги ресурсов, для которых установлен другой квалификатор языка, никогда не включаются в пул проверяемых ресурсов (хотя каталоги ресурсов без квалификатора языка включаются).

Слайд 27

Примечание

Приоритет квалификатора (в таблице ) более важен, чем число квалификаторов, которые точно соответствуют устройству.

Примечание Приоритет квалификатора (в таблице ) более важен, чем число квалификаторов, которые

Например, на шаге 4 выше, последний вариант в списке содержит три квалификатора, которые точно соответствуют устройству (ориентация, тип сенсорного экрана и способ ввода), в то время как drawable-en содержит только один подходящий параметр (язык).
Однако язык имеет более высокий приоритет, чем эти остальные квалификаторы, поэтому drawable-port-notouch-12key вычеркивается.

Слайд 28

Доступ к ресурсам

После того, как вы предоставили ресурс в вашем приложении этот

Доступ к ресурсам После того, как вы предоставили ресурс в вашем приложении
ресурс можно применить.
Для этого необходимо создать ссылку на идентификатор ресурса.
Для задания всех таких идентификаторов в вашем проекте используется класс R, который автоматически создается инструментом aapt (Android Asset Packaging Tool ).
Во время компиляции приложения инструмент aapt создает класс R, в котором находятся идентификаторы для всех ресурсов в каталоге res/.
Для каждого типа ресурсов предусмотрен подкласс R (например, класс R.drawable для элементов дизайна), а для каждого ресурса указанного типа существует статическая целочисленная переменная (например, R.drawable.icon).
Эта переменная как раз и служит идентификатором ресурса, которую можно использовать для его получения.

Слайд 29

Идентификатор ресурса

Несмотря на то, что в классе R находятся идентификаторы ресурсов, никогда не обращайтесь

Идентификатор ресурса Несмотря на то, что в классе R находятся идентификаторы ресурсов,
к нему для поиска идентификатора ресурса.
Последний состоит из следующих компонентов:
Тип ресурса: ресурсы объединены по типам, таким как string, drawable и layout. Дополнительные сведения о различных типах представлены в разделе Типы ресурсов.
Имя ресурса, в качестве которого выступает либо имя файла (без расширения), либо значение атрибута XML android:name (если ресурс представляет собой простое значение, например строку).

Слайд 30

Существует два способа доступа к ресурсу

Из кода: с помощью статической целочисленной переменной из

Существует два способа доступа к ресурсу Из кода: с помощью статической целочисленной
подкласса вашего класса R , например:
R.string.hello
string — это тип ресурса, а hello — это его имя. Существует множество API-интерфейсов Android, которые могут получать доступ к ресурсам, идентификаторы которых указаны в этом формате. См. раздел Доступ к ресурсам из кода.
Из XML: с помощью особого синтаксиса XML, который также соответствует идентификатору ресурса, заданному в классе R, например:
@string/hello
string — это тип ресурса, а hello — это его имя. Этот синтаксис можно использовать в любом фрагменте ресурса XML, где ожидается значение, указанное вами в ресурсе. См. раздел Доступ к ресурсам из XML

Слайд 31

Доступ к ресурсам из кода 

Чтобы использовать ресурс в коде, можно передать идентификатор

Доступ к ресурсам из кода Чтобы использовать ресурс в коде, можно передать
ресурса в виде параметра метода. Например, с помощью метода setImageResource() можно указать использование виджетом ImageView ресурса res/drawable/myimage.png:
ImageView imageView = (ImageView) findViewById(R.id.myimageview); imageView.setImageResource(R.drawable.myimage);
Отдельные ресурсы также можно получать с помощью методов в классе Resources, экземпляр которого можно получить с помощью метода getResources().

Слайд 32

Доступ к исходным файлам

В редких случаях может потребоваться получить доступ к исходным

Доступ к исходным файлам В редких случаях может потребоваться получить доступ к
файлам и каталогам. В этом случае просто сохранить файлы в каталоге res/ будет недостаточно, поскольку обратиться к ресурсу из папки res/ можно только по его идентификатору. Вместо этого ресурсы можно сохранить в каталоге assets/.
Файлам, которые сохранены в каталоге assets/, не присваиваются идентификаторы ресурсов, поэтому вам не удастся сослаться на них с помощью класса R или из ресурсов XML. Вместо этого можно запросить файлы из каталога assets/, как в обычной файловой системе, и считать необработанные данные с помощью AssetManager.
Однако, если вам требуется всего лишь возможность считать необработанные данные (например, видео- или аудиофайл), сохраните требуемый файл в каталоге res/raw/ и считайте поток байтов с помощью метода openRawResource().

Слайд 33

Синтаксис

Ниже представлен синтаксис ссылки на ресурс из кода.
[.]R..
<package_name> — это имя пакета, в

Синтаксис Ниже представлен синтаксис ссылки на ресурс из кода. [ .]R. .
котором находится ресурс (не требуется при создании ссылок на ресурсы из вашего собственного пакета).
<resource_type> — это подкласс R для типа ресурса.
<resource_name> — это либо имя файла ресурса (без расширения), либо значение атрибута android:name в элементе XML (для простых значений).

Слайд 34

Примеры использования

Существует множество методов, которые могут принимать идентификатор ресурса в виде параметра.

Примеры использования Существует множество методов, которые могут принимать идентификатор ресурса в виде
Для получения ресурсов можно использовать методы, представленные в классе Resources. Можно получить экземпляр Resources с помощью Context.getResources().
Примеры доступа к ресурсам из кода:
// Load a background for the current screen from a drawable resource getWindow().setBackgroundDrawableResource(R.drawable.my_background_image) ; // Set the Activity title by getting a string from the Resources object, because //  this method requires a CharSequence rather than a resource ID getWindow().setTitle(getResources().getText(R.string.main_title)); // Load a custom layout for the current screen setContentView(R.layout.main_screen); // Set a slide in animation by getting an Animation from the Resources object mFlipper.setInAnimation(AnimationUtils.loadAnimation(this,   R.anim.hyperspace_in)); // Set the text on a TextView object using a resource ID TextView msgTextView = (TextView) findViewById(R.id.msg); msgTextView.setText(R.string.hello_message);

Слайд 35

Доступ к ресурсам из XML

Для задания значений для некоторых атрибутов и элементов

Доступ к ресурсам из XML Для задания значений для некоторых атрибутов и
XML можно использовать ссылку на существующий ресурс. Это зачастую требуется при создании файлов макета при указании строк и изображений для виджетов.
Например, при добавлении в макет элемента Button необходимо использовать строковый ресурс для надписи на кнопке:

Слайд 36

Синтаксис

Синтаксис ссылки на ресурс из ресурса XML.
@[:]/
 — это имя пакета,

Синтаксис Синтаксис ссылки на ресурс из ресурса XML. @[ :] / —
в котором находится ресурс (не требуется при создании ссылок на ресурсы из одного и того же пакета).
 — это подкласс R для типа ресурса.
 — это либо имя файла ресурса (без расширения), либо значение атрибута android:name в элементе XML (для простых значений).
Дополнительные сведения о каждом типе ресурсов и порядке создания ссылок на них см. в разделе Типы ресурсов.

Слайд 37

Примеры использования

В некоторых случаях ресурс необходимо использовать в качестве значения в элементе

Примеры использования В некоторых случаях ресурс необходимо использовать в качестве значения в
XML (например, чтобы применить графическое изображение к виджету)
Например, если имеется следующий файл ресурса, включающий цветовой ресурс и строковый ресурс:
   #f00    Hello!
Эти ресурсы можно использовать в следующем файле макета для задания цвета текста и надписи:

В этом случае в ссылке на ресурс не нужно указывать имя пакета, поскольку ресурсы находятся в вашем собственном пакете.

Слайд 38

Ссылки на системный ресурс

Однако для создания ссылки на системный ресурс вам потребуется

Ссылки на системный ресурс Однако для создания ссылки на системный ресурс вам
указать имя пакета. Например:

Примечание. Всегда используйте строковые ресурсы, поскольку ваше приложение может потребоваться перевести на другие языки.

Слайд 39

Ресурсы в XML для создания псевдонимов.

Вы даже можете использовать ресурсы в

Ресурсы в XML для создания псевдонимов. Вы даже можете использовать ресурсы в
XML для создания псевдонимов.
Например, можно создать элемент дизайна, который будет служить псевдонимом для другого элемента дизайна:

Это может показаться излишним, однако такой подход очень полезен при использовании альтернативных ресурсов.

Слайд 40

Ссылка на атрибуты стиля

Синтаксис для создания ссылки на атрибут стиля практически идентичен

Ссылка на атрибуты стиля Синтаксис для создания ссылки на атрибут стиля практически
обычному формату ресурса, только в этом случае вместо символа@ необходимо указать вопросительный знак (?), а тип ресурса вообще необязательно указывать. Например:
?[:][/]
Ниже представлен пример создания ссылки на атрибут для задания цвета текста в соответствии с «основным» цветом текста системной темы оформления:

Здесь атрибут android:textColor служит для задания имени атрибута стиля в текущей теме.
Теперь в Android используется значение, примененное к атрибуту стиля android:textColorSecondary в качестве значения для android:textColor в этом виджете.
Поскольку инструменту для работы с системными ресурсами известно, что в этом контексте ожидается ресурс атрибута, вам не нужно явно указывать его тип (который должен быть ?android:attr/textColorSecondary) — тип attr можно исключить.

Слайд 41

Доступ к ресурсам платформы

В Android предусмотрен ряд стандартных ресурсов, например, стилей, тем

Доступ к ресурсам платформы В Android предусмотрен ряд стандартных ресурсов, например, стилей,
и макетов.
Для доступа к этим ресурсам укажите в ссылке на ресурс имя пакета android.
Например, в Android имеется ресурс макета, который можно использовать для элементов списка в виджете ListAdapter:
setListAdapter(new ArrayAdapter(this, android.R.layout.simple_list_item_1, myarray));
В этом примере simple_list_item_1 представляет собой ресурс макета, определенный платформой для элементов в виджете ListView.
Вы можете использовать его вместо создания собственных макетов для элементов списка.
Имя файла: Ресурсы-в-Андроид.pptx
Количество просмотров: 33
Количество скачиваний: 1