Добавлен: 16.05.2023
Просмотров: 734
Скачиваний: 3
Данная система является серьезным конкурентом iOS и по некоторым исследованиям является самой популярной системой - по данным Mail.ru Group, топ мобильных платформ устройств, с которых пользователи посещают веб, выглядит следующим образом:
- Android (55% пользователей);
- iOS (26% пользователей);
- Windows Phone (3% пользователей);
- Другие операционные системы (16% пользователей). [8]
16Подводя итог, можно сделать вывод, что разработка приложения для операционной системы Android является оптимальным решением.
1.5.Выбор среды разработки
Существуют различные среды разработки, позволяющие разрабатывать приложения для устройств, использующий операционную систему Android.
Однако, самыми популярными являются следующие IDE:
- Microsoft Xamarin;
- Eclipse;
- Android Studio.
Следует рассмотреть данные среды разработки подробнее.
Среда разработки Microsoft Xamarin
Среда разработки Microsoft Xamarin является мощным средством для разработки приложений для устройств с лидирующими на рынке операционными системами - iOS, Android и Windows Phone. Данная среда является бесплатной и доступна составе Microsoft Visual Studio.
Используя Xamarin разработчики могут создавать кроссплатформенные приложения для различных платформ - iOS, Android, Windows и Mac. Разработка приложений выполняется на языке C# с использованием . NET. Программа позволяет создать единый пользовательский интерфейс для всех платформ, используя инструмент Xamarin.Forms. [9]
Среда разработки Eclipse
Eclipse является интегрированной средой разработки, позволяющей подключать дополнения, использование которых позволяет значительно расширить функционал данной программы. IDE является кроссплатформенной - она работает под операционными системами Linux, Windows, Mac OS X и Solaris.
Данная среда разработки очень популярна, а также бесплатна. Огромное количество разработчиков используют IDE Eclipse для создания различных приложений на языках Java, C, C++, PHP, Perl, Python и других. [10]
Многие программисты выполняют разработку мобильных приложений для ОС Android в среде Eclipse.
Однако, данная среда разработки не ориентирована именно на создание мобильных приложений Android, что является как плюсом, так и минусом.
С одной стороны, то, что IDE Eclipse позволяет создавать разнообразные продукты, очень удобно. Данная среда разработки успешно применяется для огромного количества самых разнообразных задач.
С другой стороны, при разработке приложений Android из-за гибкости Eclipse возникает ряд неудобств, в сравнении со средой разработки, ориентированной исключительно на создание данных приложений. К таким неудобствам можно отнести, например, необходимость самостоятельно дополнительно устанавливать эмулятор устройства с ОС Android, необходимого для тестирования разрабатываемого приложения без использования реального устройства.
Среда разработки Android Studio
Среда разработки Android Studio является весьма молодой средой разработки. Но, безусловно, данная IDE весьма перспективна и востребована. К тому же, она бесплатна. Данный продукт создан компанией Google специально для осуществления разработки мобильных приложений на языке Java для операционной системы Android, также являющейся их разработкой. Среда разработки Android Studio является кроссплатформенной и разработана на основе IntelliJ IDEA.
IDE Android Studio, как уже было сказано, предназначена именно для разработки приложений на ОС Android, ориентирована исключительно на данную систему, а потому достаточно удобна, понятна и функциональна. Некоторые специалисты считают, что данная среда разработки имеет ряд недоработок, которые необходимо исправить. Но даже они признают, что IDE Android Studio весьма конкурентоспособна. [11]
Среда разработки Android Studio имеет ряд преимуществ, таких как, например:
- Превью отображение изменений при редактировании xml;
- Возможность создания шаблонных активностей;
- Улучшенный интеллектуальный анализ кода;
- Полноценный режим отладки и улучшенное добавление точек остановки. [12]
Принимая во внимание перечисленные преимущества, а также тот факт, что разрабатываемое приложение предназначено для мобильных устройств, использующих операционную систему Android, логичным будет выбрать данную среду разработки, поскольку она ориентирована на создание программ именно для системы Android и, к тому же, создана компанией- производителем данной операционной системы.
1.6. Описание языка программирования Java
Для создания мобильного приложения выбрана IDE Android Studio. Языком разработки является Java. Java является объектно-ориентированным языком программирования. Программы на Java транслируются в байт-код, затем выполняется обработка данного кода виртуальной машиной Java и передача инструкции оборудованию как интерпретатор.
При описанном способе выполнения программ байт-код является полностью независимым от операционной системы и оборудования, что позволяет выполнять Java-приложения на любом устройстве, для которого существует соответствующая виртуальная машина.
Другой важной особенностью является гибкость системы безопасности. Это достигается благодаря тому, что исполнение программы полностью контролируется виртуальной машиной. Любые операции, превышающие установленные полномочия (к таким операциям можно отнести, например, попытку несанкционированного доступа к данным или соединения с другим компьютером) вызывают немедленное прерывание.
Также следует заметить, что в Java используются практически идентичные с языками программирования C/C++ соглашения для объявления переменных, передачи параметров и операторов. [13]
Android Software Development Kit (SDK) содержит множество утилит и инструментов для разработки и тестирования приложений. SDK Android поддерживает основную часть возможностей стандартной среды выполнения Java (Java Runtime Environment - JRE).
Большинство API для Java, ориентированных на XML доступны в Android. В качестве примера можно привести такие API как объектная модель документов (Document Object Model - DOM) и простой Java API для XML (Java’s Simple API for XML - SAX), которые уже не первый год являются важной частью технологии Java. Достаточно новый потоковый API (Streaming API for XML - StAX) не поддерживается в Android, однако в состав Android входит библиотека, являющейся альтернативой. [14]
ГЛАВА 2. ПРОЕКТИРОВАНИЕ СИСТЕМЫ
2.1.Описание логической структуры
Для описания логической структуры программы разработаны Usecase диаграммы, наглядно позволяющие описать работу пользователя с приложением.
Рисунок 1 - Usecase диаграмма работы с профилем пользователя.
Usecase диаграмма работы пользователя с профилем представлена на рис.1. Пользователь может редактировать профиль и список своих друзей. При удалении пользователя из друзей, данный пользователь также будет исключен из участия в мероприятиях удалившего его пользователя. Все назначенные ему дела также будут удалены.
Usecase диаграмма работы пользователя с совместными мероприятиями представлена на рис.2. Пользователь может создать новое совместное мероприятие или участвовать в уже созданном, в которое его добавил организатор. Пользователь может покинуть совместное мероприятие, при этом будут удалены все назначенные ему дела.
Рисунок 2 - Usecase диаграмма работы с совместными мероприятиями.
Usecase диаграммы работы пользователя с созданным совместным мероприятием представлена на рис.3. Организатор мероприятия управляет совместным делом: назначает, редактирует и удаляет повседневные дела и следит за их исполнением. Доступно также редактирование участников мероприятия - организатор может добавить участника, либо исключить.
Организатор может удалить мероприятия, также удалив назначенные дела и исключив участников.
Рисунок 3 - Usecase диаграмма работы организатора с созданным мероприятием.
2.2. Архитектура приложения
Данная программа является клиент-серверным приложением (рис.4). Клиент (мобильное приложение на ОС Android) отправляет HTTP запрос серверу, который обрабатывает его и возвращает клиенту данные.
Рисунок 4 - Архитектура приложения.
Более подробно алгоритм работы можно описать следующим образом:
- Клиент посылает HTTP GET запрос с параметрами;
- Сервер принимает запрос и запускает указанный PHP-скрипт на выполнение;
- В процессе выполнения PHP-скрипта параметры, полученные от клиента, подставляются в SQL-запрос;
- Из PHP-скрипта SQL-запрос передается серверу СУБД MySQL;
- Набор данных, полученный в результате выполнения SQL- запроса, возвращается вызывающему PHP-скрипту;
- PHP-скрипт использует полученные из БД данные для динамического формирования web-страницы и возвращает ее web-сервису, который отдает ее клиенту. [15]
2.3.Хранение данных
База данных приложения «Easyday» состоит из следующих таблиц таблиц: Events, CalendarEvents, Users, Members, Friends, PersonalCalendar.
Таблица Events (рис. 5) содержит в себе информацию о всех совместных делах:
- Id - идентификатор совместного дела;
- Name - название совместного дела;
- Description - описание совместного дела;
- Avatar - название файла изображения, являющегося аватаром совместного дела;
- Id_creator_user - идентификатор пользователя, создавшего задание. Этот пользователь управляет данным заданием;
- Start_date - дата начала совместного дела;
- End date - дата окончания совместного дела.
Рисунок 5 - Таблица Events.
Таблица Users (рис. 6) содержит информацию о всех зарегистрированных пользователях:
• Id - идентификатор пользователя;
- Email - email пользователя. По нему происходит поиск пользователей другими пользователями;
- Login - имя пользователя, отображаемое в профиле, а также другим пользователям;
- Password - пароль для идентификации пользователя в системе;
- Avatar - название файла изображения, являющегося аватаром пользователя.
Рисунок 6 - Таблица Users.
Таблица CalendarEvents (рис. 7) содержит в себе информацию о всех запланированных коллективных делах. В данном случае имеются конкретные экземпляры дел, имеющих временные рамки выполнения и исполнителей:
- Id - идентификатор дела;
- Id_event - идентификатор совместного дела;
- Id_user - идентификатор пользователя, выполняющего данное
дело;
- Start_date - дата и время начала дела;
- End_date - дата и время окончания дела;
- Message - сообщение или комментарий исполнителям дела;
- Done - выполнено дело или нет.
Рисунок 7 - Таблица CalendarEvents.
Таблица Members (рис. 8) содержит в себе участников совместного
дела:
- Id - идентификатор;
- Id_event - идентификатор совместного дела;
- Id_user - идентификатор пользователя, участвующего в данном совместном деле.
Рисунок 8 - Таблица Members.
Таблица PersonalCalendar (рис. 9) содержит в себе личный календарь пользователя:
- Id - идентификатор записи;
- Id_user - идентификатор пользователя;
- Name - название дела;
- Description - описание дела;
- Start_date - время и дата начала дела;
• End_date - время и дата окончания дела.
Рисунок 9 - Таблица PersonalCalendar.
Рисунок 10 - Таблица Friends.
Рисунок 11 - Схема данных.
Таблица Friends (рис. 10) содержит в себе информацию о дружественных связях (списке друзей пользователя):
- Id - идентификатор записи;
- Id_user1 - идентификатор первого пользователя;
- Id_user2 - идентификатор второго пользователя.