Лучшее руководство по Android Ресурсы (Resources) управление в 2024 году. В этом руководстве вы можете изучить Организационные ресурсы в затмение,Альтернативные ресурсы,Доступ к ресурсам,
Есть много вещей, которые используются для создания отличное приложение для Android. Помимо кодирования приложения, вы должны сосредоточиться на различных ресурсах, таких, как вы используете различные статического контента, такие как растровые изображения, цвета, определение макета, строки пользовательского интерфейса, анимации и так далее. Эти ресурсы, как правило, помещаются в Рез / подкаталог автономного проекта.
В этом разделе учебника узнаете, как организовать свои ресурсы приложения, определять альтернативные ресурсы, и доступ к ним в вашем приложении.
Вам нужно будет поместить в каждый ресурс под конкретного подкаталог вашего проекта Рез / каталога. Например, это простой проект на уровне файлов:
MyProject/ src/ MyActivity.java res/ drawable/ icon.png layout/ activity_main.xml info.xml values/ strings.xml
Рез / содержит все ресурсы в различных подкаталогах. Вот ресурс картина, два ресурса макета и файл ресурс строки. В следующей таблице приведены подробно в проекте RES / ресурсах поддержки каталогов.
каталог | Тип ресурса |
---|---|
Anim / | XML-файл, который определяет свойство анимации. Они сохраняются в Рез / Anim / папке, по типу R.anim доступа |
цвет / | XML-файл, который определяет список состояний цвет. Они сохраняются в Рез / цвет / папке, по типу R.color доступа |
рисуем / | Файлы изображений, таких как PNG, JPG, GIF или XML-файл, скомпилирован как точечный рисунок, государственный список, формы, анимированных изображений. Они сохраняются в Рез / растяжимой / папке, по типу доступа R.drawable |
макет / | Пользовательский интерфейс XML-файл макета. Они сохраняются в Рез / макет / папку, по типу R.layout доступа |
меню / | Пользовательские меню приложения XML-файлы, такие как меню опций, контекстных меню, подменю. Они сохраняются в Рез / меню / папки, по типу доступа R.menu |
сырой / | Любые файлы сохраняются в их первоначальном виде. Нам нужно R.raw.filename с именем идентификатор ресурса, чтобы открыть необработанный файл путем вызова Resource.openRawResource () |
значения / | XML-файлы содержат простые значения (например, строки, целые, цвет и т.д.). Вот некоторые ресурсы в рамках конвенций папки именования. arrays.xml от имени массива ресурсов, с помощью типа R.array доступа; integers.xml представляет собой целое число ресурсов доступны через R.integer класс; bools.xml ресурсов от имени логических значений, тип доступа R.bool; colors.xml ресурсы от имени цвета, доступ через класс R.color; dimens.xml представители размерности значений, через типа R.dimen доступа; strings.xml представляет собой строковый ресурс, через типа R.string доступа, представители styles.xml стиль ресурсов, по типу доступа R.style |
XML / | Называя Resources.getXML () для чтения произвольных файлов XML во время выполнения. Различные конфигурационные файлы могут быть сохранены среды выполнения здесь |
Ваше приложение должно предоставлять ресурсы для поддержки альтернативной конфигурации для конкретного устройства. Например, вам необходимо предоставить альтернативную картину ресурсов для различных разрешений экрана, предоставляя альтернативные строковые ресурсы для различных языков. Во время выполнения Android определяет текущую конфигурацию устройства и загрузить соответствующие ресурсы для приложения.
Для того, чтобы определить набор альтернативных ресурсов для конкретной конфигурации, следующие этапы:
Вот пример, чтобы указать изображение по умолчанию замещения изображения на экране с высоким разрешением.
MyProject/ src/ main/ java/ MyActivity.java res/ drawable/ icon.png background.png drawable-hdpi/ icon.png background.png layout/ activity_main.xml info.xml values/ strings.xml
Вот еще один пример, чтобы определить язык разметки по умолчанию и альтернативные раскладки арабский язык.
MyProject/ src/ main/ java/ MyActivity.java res/ drawable/ icon.png background.png drawable-hdpi/ icon.png background.png layout/ activity_main.xml info.xml layout-ar/ main.xml values/ strings.xml
При разработке приложения, необходим доступ к определенным ресурсам, либо с помощью кода или с помощью файлов XML. В следующих разделах описывается, как получить доступ к этим ресурсам отдельно в двух сценариях.
Когда Android приложение компилируется для генерации класса R, который содержит идентификатор и все RES / ресурсы каталога. Вы можете использовать класс R, + по имени подкласса ресурсов или непосредственно использовать идентификатор ресурса для доступа к ресурсам.
Рез Access / рисуем / myimage.png и установите его на ImageView, вы должны использовать следующий код:
ImageView imageView = (ImageView) findViewById(R.id.myimageview); imageView.setImageResource(R.drawable.myimage);
Первая строка кода здесь, чтобы получить R.id.myimageview определенный myimageview из ImageView в файле макета. Вторая строка с R.drawable.myimage, чтобы получить изображение в Рез / Drawable в подкаталог называется myimage.
Рассмотрим пример, в котором RES / значения / strings.xml определяется следующим образом:
<?xml version="1.0" encoding="utf-8"?> <resources> <string name="hello">Hello, World!</string> </resources>
Теперь вы можете использовать идентификатор объекта сообщ из TextView идентификатор ресурса, чтобы установить текст, следующим образом:
TextView msgTextView = (TextView) findViewById(R.id.msg); msgTextView.setText(R.string.hello);
Рассмотрим следующее определение макета RES / макет / activity_main.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <TextView android:id="@+id/text" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Hello, I am a TextView" /> <Button android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Hello, I am a Button" /> </LinearLayout>
Код приложения загружает раскладку активности, OnCreate () метод следующим образом:
<?xml version="1.0" encoding="utf-8"?> <resources> <color name="opaque_red">#f00</color> <string name="hello">Hello!</string> </resources>
Рассмотрим следующий XML-файл ресурсов RES / значения / strings.xml, который содержит цветной ресурс и ресурс строки -
<?xml version="1.0" encoding="utf-8"?> <EditText xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:textColor="@color/opaque_red" android:text="@string/hello" />
Теперь вы можете использовать эти ресурсы в следующем файле макета, чтобы установить цвет текста и текстовое содержание:
<code><?xml version="1.0" encoding="utf-8"?> <EditText xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:textColor="@color/opaque_red" android:text="@string/hello" /> </code>
Теперь, если вы вернетесь к предыдущему разделу, чтобы объяснить "Hello World!" Например, я могу подтвердить вам в этом разделе все они имеют лучшее понимание этой концепции. Поэтому я настоятельно рекомендую, чтобы вернуться, чтобы посмотреть на предыдущих примерах, и я использую другое представление основного использования ресурсов.