Ресурсы. Реализация файлов. XML в Android.

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

Ресурсы – один из основных компонентов, с которыми придется работать. В Android принято держать объекты, как изображения, строковые константы, цвета, стили и т.п. за пределами исходного кода. В основном они хранятся в виде xml-файлов в каталоге res с подкаталогами values, drawable-ldpi, drawable-mdpi, drawable-hdpi, layout, но также бываютдругие типы ресурсов.

Самыми распространенными ресурсами являются строки (string), цвета (color), и графические рисунки (bitmap).

Цвета, как и все остальные ресурсы, следует определять в разметке xml. Обычно цвета определяются в файле с названием colors.xml, который создается многими шаблонами приложений AndroidStudio (рис. 4).

Ресурсы. Реализация файлов. XML в Android. - student2.ru

Ресурсы. Реализация файлов. XML в Android. - student2.ru

Рис. 4. Res / values / colors.xml.

Android позволяет хранить в ресурсах массивы строк. Для этого используется тег string-array, который содержит внутри элементы item с конкретными строками.

Элементы массива инициализируются, как обычные строки, а элементы item содержат только ссылку на них такая инициализация удобна. Само описание массива при этом удобно вынести в отдельный ресурсный файл (рис. 5).

Ресурсы. Реализация файлов. XML в Android. - student2.ru

Рис. 5. Res / values / string.xml.

Ресурсы размеров

В Android используются следующие единицы измерения: пикселы, дюймы, точки. Все они могут входит в состав ХМL-шаблонов и кода Jаvа. Данные единицы измерения также можно использовать в качестве ресурсов при помощи тега <dimen> (обычно используют файл dimens.xml):

Ресурсы. Реализация файлов. XML в Android. - student2.ru

Рис. 6. Res / values / attrs.xml.

Часто используемый список format (тип свойства):

· dimension — может быть значение типа 10px, 10dip;

· integer — может быть значение типа 10, 5, 2;

· string — просто текстовое значение типа «Hello World».

Как и другие ресурсы, ресурс dimension определяется в корневом элементе <resources>. Тег <dimen> обозначает ресурс и в качестве значния принимает некоторое значение размера в одной из принятых единиц измерения (dp, sp, pt, px, mm, in).

Так, добавим в Android Studio в папку res/values новый файл, который назовем dimens.xml. Определим в нем следующее содержимое:

Ресурсы. Реализация файлов. XML в Android. - student2.ru

Рис. 7. Res / values / dimens.xml.

Здесь определены два ресурса для отступов activity_horizontal_margin и activity_vertical_margin, которые хранят значение 1 dp и 8 dp, и атрибут divider, который отвечает за внешний вид разделителя. Названия ресурсов могут быть произвольными.

Экран имеет такие физические значения как диагональ и разрешение. Диагональ – это расстояние между противоположными углами экрана, обычно измеряется в дюймах. Разрешение – количество точек по горизонтали и вертикали, которое экран способен отобразить, измеряется в пикселях.

Layout windth и Layout heigth.

На них можно указывать абсолютные значения, а можем использовать константы.

Абсолютныезначения:

- dp и dip – Dencity-indenperendent Pixels. Абстракная ЕИ, позволяющая приложениям выглядеть одинаково на разных экранах и разрешениях.

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

- mm – миллиметр, определяется по физическому размеру экрана.

- in – дюйм, определяется по физическому размеру экрана.

Константы:

- math_parent (fill_parent) – означает, что элемент займет всю доступную ему в родительском элементе ширину и высоту.

- wrap_content – ширина и высота элемента будет определятся его содержимым.

Расположение View-элементов на экране зависит от ViewGroup (Layout), в которой они находятся. LinerLayout – отображает View –элементы в виде одной строки (Horizontal) или одного столбца (Vertical). Этот вид ViewGroup по умолчанию предлагается при создании новых layout-файлов. Он достаточно удобен и гибок, чтобы создавать экраны различной сложности.

<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activitty_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/acivity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:background="@color/background"
tools:context="com.a2210.alive.mydailyscheduller.MainActivity">

<ListView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/background"
android:dividerHeight="@dimen/divider"
android:divider="@color/colorPrimary"
android:id="@+id/li"/>
</LinearLayout>

[A3] [A4] Res / layout / activity_main.xml.

Суть приложения: считывание информации о занятиях с сайта университета. Приложение должно посылать запрос который содержит сведения о группе на сайт БГУ и получать ответ в виде файла с расписанием.



Наши рекомендации