Установка ПО для разработки и тестирования приложений
Цель лабораторной работы
Освоить основные приемы разработки приложений для ОС Android, изучить процесс установки и настройки среды разработки, знакомство с Android Virtual Device и пользовательским интерфейсом (UI), проведение сеанса отладки.
Презентацию к лабораторной работе Вы можете скачать здесь.
Материалы к лабораторным работам Вы можете скачать здесь.
Инструкция по выполнению лабораторной работы
Подготовка
Перед тем, как приступать к созданию приложений на Android, необходимо выбрать и установить подходящую среду разработки и установить соответствующий инструментарий для разработки приложений под OC Android - Android SDK.
В качестве среды разработки мы будем использовать Eclipse IDE. Все примеры будут приведены для этой среды разработки. Конечно, можно выбрать любую другую платформу разработки, например Intellij IDEA, но лучше всего подходит Eclipse, так как она превосходно "заточена" для разработки под OC Android.
Убедитесь в том, что ваше ОС удовлетворяет системным требованиям для установки Eclipse IDE и Android SDK, описанным в http://developer.android.com/sdk/index.html.
Для начала разработки понадобится набор из Eclipse IDE, Android SDK и JDK (Java Development Kit). Весь набор программ можно скачать на официальном сайте Android для разработчиков по ссылке: http://developer.android.com/sdk/index.html. Также, программы доступны на официальных сайтах по ссылкам: http://www.oracle.com/technetwork/java/javase/downloads/index.html (JDK), http://www.eclipse.org/downloads/ (Eclipse IDE). Обратим внимание, что при скачивании программ из разных источников необходимо проверить, совместима ли версия Eclipse с Android SDK.
Android SDK представляет собой средство разработки приложений под ОС Android, и распространяется в виде ZIP или EXE файлов. Android SDK состоит из пакетов, содержимое которых возможно подгружать с помощью Android SDK Manager. В Android SDK входят следующие пакеты:
- пакет с версиями платформ (SDK Platform) – содержит папки с версиями платформ, в каждую из которых входит файл android.jar – файл архива Java, содержащий все классы SDK Android, необходимые для создания приложений;
- пакет с образами систем (System Image) – образ системы используется в иммуляторе Android устройства при отладке и разработке приложений;
- пакет с исходным кодом платформы Android (sources);
- пакет документации (Documentation) – документация SDK предоставляется локально и через Интернет. В основном она выполнена в формате Javadocs, что позволяет легко ориентироваться во множестве пакетов SDK;
- каталоги инструментов (SDK Tools, SDK Platform-tools) – содержат все инструменты для отладки и тестирования Android-приложений;
- USB-driver – каталог, содержащий все необходимые драйвера для подключения к поддерживающим Android устройствам.
Начальный пакет Android представляет только основные инструменты. Остальные компоненты, при необходимости, можно скачать и установить (например, GoogleAPI).
Android предлагает плагин ADT (Android Developer Tools) для Eclipse IDE, который обеспечивает разработчиков эффективными инструментами для создания Android-приложений. Он расширяет богатые возможности Eclipse новыми полезными утилитами. К примеру, после установки ADT на панелях toolbar и menubar появятся "контролы", позволяющие быстро создавать проект.
Для установки ADT, необходимо открыть панель расширения среды (InstallNewSoftware) в закладке "Help", а затем в появившемся окне добавить новый путь https://dl-ssl.google. com/android/ eclipse/.
Далее Eclipse выполнит поиск требуемых данных, и в выпадающем списке вы сможете выбрать ADT и установить его, нажав Install. Запустится процесс инсталляции плагина. Если в ходе установки возникнут ошибки, то, возможно, что указанный ресурс более по каким-то причинам недоступен, либо вы используете старую версию Eclipse, либо не установили JDK.
Запустите AVD Manager прямо из Eclipse (Window->Android SDK and AVD Manager). На экране появится окошко, содержащее слева список из трех основных компонентов: виртуальные устройства, установленные и доступные пакеты. В установленных пакетах находятся все компоненты, установленные по умолчанию или по необходимости. С помощью вкладки "доступные пакеты" можно автоматически скачивать и устанавливать необходимые решения. К примеру, мы можем установить Google API's любой версии, с целью использования в разрабатываемом приложении сервисов Google (карты, поиск).
Прежде чем писать приложение с использованием Android API's необходимо создать виртуальное устройство, которое позволит тестировать написанное. Чтобы создать виртуальное устройство в главном окне Android SDK and AVD Manager, кликните на кнопку New. Появится диалоговое окно, которое позволяет настроить виртуальную машину. Заполняйте поля сверху вниз. Всплывающие мини-окошки помогут вам при заполнении. На этом установка Android полностью завершена, теперь можно приступать к написанию приложений.
Кнопки являются неотъемлемым компонентом любого интерактивного приложения. ОС Android обладает превосходными средствами создания и управления кнопками. Кнопка описана классом android.widget.Button, который является суперклассом для всевозможных типов кнопок (флажковая кнопка, радиокнопка, переключатель).
У кнопки определено несколько конструкторов:
- Button(Context context);
- Button(Context context, AttributeSetattr);
- Button(Context context, AttributeSetattr, intdefStyle).
Context – это класс содержащий информацию о среде приложения и предоставляющий доступ к различным системным ресурсам и классам.
Поля текстового ввода. Android.widget.EditText является небольшой облицовкой вокруг TextView, позволяющей создавать редактируемый текст.
EditText имеет несколько конструкторов:
- EditText(Contextcontext);
- EditText(Contextcontext, AttributeSetattr);
- EditText(Context context, AttributeSetattr, intdefStyle).
Класс EditText содержит несколько методов. Рассмотрим некоторые из них:
- public void selectAll(Spannable); метод фиксирует целиком в качестве текста указанный ресурс. Spannable — это интерфейс для организации текста в виде блоков (кусков текста).
- public Editable getText(); возвращает текст, отображаемый TextView. Editable интерфейс для описания динамического текста, содержимое и разметка которого могут быть изменены.
- public void setText(CharSequence, TextView.BufferType); устанавливает текст, отображаемый в TextView. Первый параметр определяет текст, второй - способ его хранения: динамический текст, нормальный текст(default), блочный текст.
Списки. Android.widget.ListView – класс, отображающий набор элементов в виде списка с возможностью прокрутки. Элементы, ассоциированные с этим представлением, описываются классом ListAdapter.
ListAdapter – наследует базовый класс Adapter и служит мостом между данными и ListView. Часто данные могут быть представлены курсорами, но необязательно. Удобство в том, что ListView может отображать любые данные, лишь бы они были завернуты в ListAdapter. ListAdapter имеет несколько подклассов (ArrayAdapter, BaseAdapter,..), которые предназначены для различных целей. Приведем пример использования ArrayAdapter.
ArrayAdapter – представляет данные в виде массива и добавляет удобный функционал (добавление, удаление, поиск) для работы с ними.
- ArrayAdapter(Context, TextViewResourceId) ;
- ArrayAdapter(Context, TextViewResourceId, T[] objects) .
- TextViewResourceId – ссылка на xml-файл представления, данных списка. Параметр T[] objects задает отображаемые данные.
LinearLayout. Линейный менеджер размещения используется для отображения элементов в виде линейных списков, горизонтальных или вертикальных. Причем можно использовать несколько Layouts одновременно, в этом случае они будут делить экран.
- LinearLayout(Context context) ;
- LinearLayout(Context context, AttributeSet ) ;
- LinearLayout(Context context, AttributeSet , intdefStyle) .
Рассмотрим основные методы:
- generateLayoutParams(AttributeSet attr) – задает параметры layout (ширина, длина, фон, притяжение);
- getOrientation()– задает направление размещения.
RelativeLayout. Этот менеджер размещения используется в том случае, если необходимо размещать элементы относительно какого-то виджета. Позиция размещения задается в виде: элемент X расположить ниже элемента Y.
RelativeLayout очень мощное средство расположения элементов, не зависящее от размеров окна приложения и не привязанное к какой-то конкретной позиции. Таким образом, с помощью RelativeLayout мы получаем "резиновый", легко программируемый интерфейс. Конструкторы те же самые, что и у LinearLayout.
TableLayout. Этот менеджер размещения, располагает элементы в табличном виде по строкам и колонкам. TableLayout состоит из элементов разметки TableRow, определяющих строку в которой будет содержаться виджет. TableLayout не отображает границы ячеек, из которых состоит. Каждая строка TableLayout имеет ноль или более ячеек, а каждая ячейка может хранить объект для отображения (ViewObject) . Число столбцов в таблице определяется самой длинной по количеству ячеек строкой. Таблица может содержать пустые ячейки. Ячейки могут охватывать несколько столбцов, также как и в HTML. Ширина колонки есть максимум по длинам ячеек, принадлежащих этому столбцу.
В конкретных случаях, можно настроить таблицу под собственные требования. В этом помогут стандартные методы, жестко задающие параметры таблицы.
TabLayout. Иногда нам приходиться описывать несколько различных отображений в одном окне обеспечивая между ними быстрое и комфортное переключение. В таком случае необходимо использовать вкладочный менеджер размещения (tablayout). Чтобы создать tablayout, необходимо выполнить следующее: создать TabHost либо в виде xml описания, либо непосредственно кодом в программе. Этот элемент является контейнером для вкладок (табов) оконного вида. TabHost должен иметь два дочерних элемента: TabWidget и FrameLayout.
TabWidget – элемент представляющий список вкладок FrameLayout, используемый для отображения содержимого каждой вкладки.
Существует два способа использования TabLayout:
- Можно создать несколько представлений в одной Activity и переключаться между ними, кликая по табам.
- Можно создать несколько Activity, описывающих различные представления, а в главном Activity обеспечить корректное переключение.
Android SDK обеспечивает большой набор инструментов, которые необходимы для отладки приложений. У вас должен быть JDWP-совместимый отладчик (Java Debug Wire Protocol (JDWP) – это протокол, используемый для обмена данными между отладчиком и виртуальной машиной Java, которую он и отлаживает).