2 Средства разработки
Бурное развитие информационных технологий в последнее время привело к тому, что появилось много новых устройств и технологий, таких, как планшеты, смартфоны, нетбуки и другие гаджеты. Мир все больше стал уходить от понятия компьютера как исключительно стандартного персонального компьютера. Смартфоны и прочие гаджеты все более прочно входят в нашу жизнь и становятся привычным дело. Лидирующей платформой среди подобных гаджетов на сегодняшний день является ОС Android. По разным подсчетам за 2015 год этой операционной системой пользуются около 82% владельцев смартфонов.
ОС Android была создана разработчиком Энди Рубином (Andy Rubin) в качестве операционной системы для мобильных телефонов и поначалу развивалась в рамках компании Android Inc. Но в 2005 году Google покупает Android Inc. и начинает развивать операционную систему с новой силой. На данный момент последней версией является Android 6.0 Marshmallow, которая вышла в октябре 2015 года.
В первую очередь для создания приложений необходимо загрузить и установить JDK. Несмотря на то, что последней версией языка Java является Java 8, но к текущему моменту даже самая последняя версия ОС Android поддерживает Java 7. При написании приложения использовалась JDK версии 1.8.
В качестве среды разработки используется Android Studio версии 1.4. Она является рекомендуемой. Android Studio – это относительно новая среда разработки Android-приложений, базирующаяся на платформе Intellij IDEA компании JetBrains. Новые функции появляются с каждой новой версией Android Studio. На данный момент доступны следующие функции:
– расширенный редактор макетов: WYSIWYG, способность работать с UI компонентами при помощи Drag-and-Drop, функция предпросмотра макета на нескольких конфигурациях экрана;
– сборка приложений, основанная на Gradle;
– различные виды сборок и генерация нескольких .apk файлов;
– рефакторинг кода;
– статический анализатор кода (Lint), позволяющий находить проблемы производительности, несовместимости версий и другое;
– встроенный ProGuard и утилита для подписки приложений;
– шаблоны основных макетов и компонентов Android;
– поддержка разработки приложений для Android Wear и Android TV и другие.
Существуют разные среды разработки для Android. Можно использовать для разработки такие среды как NetBeans, Eclipse, Visual Studio.
Для тестирования приложения используется программа Genymotion. Genymotion – быстрый эмулятор Android, который включает в себя настроенные образы Android. Genymotion доступен для Linux, Windows и Mac OS X и требует VirtualBox.
Особенности Genymotion:
– быстрая загрузка и запуск предварительно настроенных образов Android. Список устройств постоянно расширяется;
– GPS (с настраиваемыми координатами) и батарея (с настраиваемым уровнем батареи);
– отображение: аппаратное ускорение с OpenGL, режим полноэкранного просмотра;
– консоль, которая позволяет взаимодействовать с виртуальной машиной, используя командную строку;
– поддержка ADB;
– эмуляция передней и задней камеры;
– работает на порядок быстрее эмуляторов от Google;
– общий буфер обмена виртуального устройства и ПК;
– редактирование количества процессоров (CPU) и количества оперативной памяти (RAM) в настройках виртуального устройства;
– генерирование архива log-файлов при обращении в тех поддержку;
– эмуляция работы интернета через GPRS, Edge, 3G, 4G и прочее.
API (Application Programming Interface) – это интерфейс программирования, интерфейс создания приложений. В процессе написания приложения использовался интерфейс для создания приложения API 16 (Android 4.1.2).
3 Структура программы
За работу приложения отвечают 8 классов, которые распределены на 4 пакета:
activity – содержит активности приложения;
dao – содержит класс для работы с памятью телефона;
pojo – содержит класс, описывающий всю необходимую для программы информацию об объекте;
service – содержит класс-сервис для проверки наступления события.
В пакете «activity» находятся 5 активностей приложения. Рассмотрим эти активности.
«MainActivity» – главная активность приложения. Инициализирует класс для работы с данными в памяти телефона, запускает сервис для мониторинга задач.
«ActiveActivity» – активность, отображающая список активных задач, а также служит для добавления новых задач.
«FinishActivity» – активность, отображающая список завершенных задач, а также позволяет активировать задачу.
«InfoActivity» – активность, отображающая информацию о задаче, позволяя редактировать ее.
«DelayActvivity» – активность, позволяющая отложить задачу или завершить.
В пакете «dao» находится класс «TaskDao» для работы с данными в памяти телефона, используя класс «SharedPreferences», позволяющий создавать в приложении именованные ассоциативные массивы типа «ключ — значение», которые могут быть использованы различными компонентами приложения.
В пакете «pojo» хранится класс «Task», описывающий всю необходимую для программы информацию об объекте.
В пакете «service» содержится класс-сервис мониторинга задач. Через фиксированный период времени он проверяет сроки задач. Также этот класс запускает поток для работы приложения в фоновом режиме.
За графический интерфейс отвечают layout-файлы, подключаемые в соответствующих активностях. Такими файлами в приложении являются: «activity_main» – начальная активность, «delay_view» – при наступлении события можно произвести отсрочку напоминания или завершить, «info_activity» – содержит необходимые компоненты интерфейса для редактирования/добавления задач, «list_view_active» – на экране отображаются активные задачи, а также кнопка для добавления новой, «list_view_finish» – на экране отображаются завершенные задачи.
Коды классов и layout-файлов приведены в приложении Б.
|