Содержание
Введение
. Постановка задачи
.1 Описание приложения
.2 Требования к приложению
.3 Технология разработки мобильных приложений
.3.1 Web-приложение
.3.2 Нативное мобильное приложение
.3.3 Гибридное приложение
.3.4 Выбор технологии для разработки приложения
. Разработка приложения
.1 Описание существующего API
.2 Компоненты приложения
.2.1 Активность
.2.2 Сервис
.2.3 Получатель широковещательных сообщений
.2.4 Поставщик контента
.2.5 Вызов компонентов
.2.6 Файл манифеста
.2.7 Объявление требований приложения
.2.8 Ресурсы приложений
.3 Жизненный цикл приложения
.3.1 Методы жизненного цикла
.3.2 Сохранение состояния
.4 Прототипирование пользовательского интерфейса
.5 Разработка пользовательского интерфейса
.6 Хранение данных
.7 Хранение настроек приложения
.8 Синхронизация данных
.8.1 AlarmManager
2.8.2 JobScheduler
.8.3 GCM Network Manager
.8.4 Адаптеры синхронизации
2.8.5 Режим Doze
.8.6 Выбор метода синхронизации
.9 Тестирование приложения
.10 Публикация приложения
. Описание функциональности приложения
Заключение
Список использованных источников
Введение
Еще совсем недавно, человеку, находящемуся вне офиса, необходимо было звонить туда по несколько раз в день, чтобы выяснить ответы на очень простые вопросы, будь то получение накладной, оплаты, размера задолженности клиента и всего остального. Сегодня каждая компания может автоматизировать большинство бизнес-процессов, чтобы значительно сократить время и другие ресурсы, затрачиваемые от момента начала создания продукта до момента получения от него денег. Чем быстрее в компании проходят все бизнес-процессы, тем выше производительность труда и, естественно, выше прибыль.
До появления мобильных технологий все это делалось с помощью обыкновенных персональных компьютеров и web-сайтов, для которых создавалось специальное программное обеспечение. Но компьютер не всегда с вами, в отличие от смартфона, к тому же компьютер потребляет много электроэнергии, занимает много места, требует сложного обслуживания и стоит дороже смартфона.
Сегодня многие компании вместо закупки ноутбуков и персональных компьютеров покупают своим сотрудникам планшеты и смартфоны и разрабатывают мобильные приложения.
Автоматизация бизнес-процессов не приносит денег напрямую, но дает возможность работать больше, качественнее и быстрее, что в конечном итоге значительно снижает затраты компании и повышает прибыль. В частности, автоматизация бизнес-процессов позволяет сократить штат, обслужить большее количество клиентов за определенное время и повысить цену услуг в связи с повышением качества сервиса.
Рядовым сотрудникам автоматизация даст возможность упростить и ускорить выполнение работы. Особенно это важно для тех специалистов, в чьей работе важна мобильность.
Для специалистов, постоянно находящихся в дороге, не существует никакой альтернативы мобильным технологиям. Сотрудник будет всегда на связи, имея при себе смартфон или планшет и сможет гораздо быстрее и точнее получать необходимую для выполнения работы информацию.
Автоматизация предприятия с помощью мобильных приложений сводит ошибки сотрудников к минимуму. Используя мобильное приложение, сотрудник не сможет ошибиться с деталями заказа из-за плохой телефонной связи или присутствия постороннего шума. Сотруднику нет необходимости запоминать переданную ему информацию, при отсутствии возможности ее записать, так как она всегда доступна в мобильном приложении. И сотрудник всегда будет знать о новом задании, потому что полученное задание сразу высветится на экране его смартфона.
Большая часть сотрудников компании ООО "Техника 24" являются мобильными работниками, и организация надежного и удобного способа обмена информацией с ними является актуальной задачей.
Целью данной дипломной работы является создание мобильного приложения для организации информационного обмена между мобильными сотрудниками компании ООО "Техника 24" и существующими информационными системами компании.
Для достижения поставленной цели следует решить основные задачи:
произвести сбор требований к мобильному приложению;
сделать обзор технологий разработки мобильных приложений и выбрать наиболее подходящую;
спроектировать и разработать мобильное приложения;
протестировать готовое мобильное приложение и обеспечит его установку на мобильные устройства сотрудников компании.
1. Постановка задачи
Основной деятельностью организации ООО "Техника 24" является оказание услуг помощи на дорогах Москвы и Московской области.
Для оказания услуг техпомощи и эвакуации организация имеет собственный колл-центр, а также парк спецтехники (эвакуаторы и машины техпомощи) обслуживаемый мобильными сотрудниками компании.
Сотрудники колл-центра организации обрабатывают входящие звонки клиентов и регистрирует всю необходимую для оказания услуг информацию в CRM (Customer Relationship Management) системе и передают ее мобильным сотрудникам посредством телефонной связи.
При изменении деталей заказа, сотрудник колл-центра передает информацию мобильному сотруднику повторно.
После выполнения заказа, мобильный сотрудник
связывается с колл-центром организации для подтверждения завершения заказа.
1.1 Описание приложения
Мобильное приложение предназначено для организации информационного обмена между мобильными сотрудниками компании (водитель эвакуатора, мастер техпомощи) и CRM системой.
Мобильное приложение позволяет мобильным сотрудникам компании своевременно получать оповещения о заказах на оказание услуг техпомощи и эвакуации, зарегистрированных в CRM системе предприятия: о поступлении новых заказов и изменении деталей ранее полученных заказов.
Пользователи приложения могут авторизоваться, используя соответствующие логин и пароль, установленные для них в CRM системе.
После авторизации пользователям доступен список заказов за последние двое суток, в которых они были назначены в качестве исполнителя.
При выборе из списка отдельного заказа, пользователям доступна детальная информация по заказу, а также возможность:
быстрого набора номера клиента из данных заказа;
поиска адреса оказания техпомощи из данных заказа во внешних программных средствах таких как Яндекс. Карты, Google Maps и другие;
добавления и просмотра ранее добавленных фотографий транспортных средств заказчика полученных с использованием встроенной в мобильный телефон камерой, для разрешения возможных споров о повреждении автомобиля во время оказания услуг техпомощи или эвакуации.
Фотографии транспортных средств, добавленные
пользователем к заказу, должны автоматически загружаться в CRM.
1.2 Требования к приложению
Синхронизация данных о заказах должна происходить не реже 1 раза в минуту при наличии связи смартфона с интернетом.
Синхронизация заказов и выгрузка фотографий транспортных средств должна осуществляться автоматически в фоновом режиме, не требуя дополнительных действий от пользователя.
Фотографии транспортных средств, загруженные в CRM старше двух дней должны автоматически удаляться со смартфона для экономии свободного места.
Приложение должно работать на смартфонах под управлением операционной системы Android версии 5 и выше.
Приложение должно поддерживать возможность работы как в портретной, так и в альбомной ориентации экрана.
Приложение должно сохранять состояние пользовательского интерфейса во время переключения на другие приложения или сворачивании всех приложений.
Приложение должно обладать интуитивно понятным пользовательским интерфейсом.
Пользовательский интерфейс приложения должен автоматически адаптироваться под разрешение экрана устройства, на котором приложение запущено. мобильный информационный интерфейс
Пользовательский интерфейс приложения должен быть нативным для платформы Android и соответствовать основным рекомендациям по разработке приложений для данной платформы (Android User Interface Guidelines).
Все сторонние библиотеки, используемые в приложении должны иметь открытый исходный код и не налагать никаких ограничений на коммерческое использование и распространение программного кода.
Обмен информацией с CRM
должен происходить по протоколу http
путем передачи сообщений в формате JSON
с использованием существующего API
CRM.
1.3 Технология разработки мобильных
приложений
Есть множество платформ и инструментов, доступных для выбора при разработке мобильных приложений. Все инструменты можно условно разбить на три основные категории: web-приложение, гибридное приложение, нативное приложение. Рассмотри каждую из них.
.3.1 Web-приложение
Web-приложения - это сайт, оптимизированный для просмотра на мобильном устройстве.
Web-приложения используют для работы браузер телефона. Web-приложения не нужно загружать из магазина приложений, чаще всего пользователи переходят по заданному URL а затем получают возможность закрепить закладку на эту страницу на домашнем экране смартфона. Также такие приложения могут распространяться через специальные магазины web-приложений, которые есть в некоторых браузерах. Главной особенностью web-приложений является их кроссплатформенность - возможность работать на всех устройствах, без дополнительной адаптации.
Подавляющее большинство web-приложений создается при помощи JavaScript, CSS и HTML5. При создании web-приложений разработчик не имеет такого программного обеспечения для разработки как SDK (software development kit) для доступа к функциям мобильной платформы. Независимо от установленной операционной системы такие приложения не могут напрямую использовать программное обеспечение смартфона. С помощью браузера такие приложения могут получить доступ к таким функциям как геолокация, звонок по ссылке, вызов камеры телефона для получения фотографии. Однако множество встроенных функций операционной системы смартфона на данный момент не доступны для web-приложений: уведомления в фоновом режиме, автономное хранилище данных, данные акселерометра, функции безопасности и другие [1].
Для разработки таких приложений существуют шаблоны и фреймворки, такие как Angular, React и Vue.js. Разработка web-приложений может быть простой и быстрой, однако их простота также является их недостатком. Web-приложения являются хорошим способ проверить идею, прежде чем выделять ресурсы для разработки нативного мобильного приложения.
Плюсы:
кроссплатформенность;
не требует установки;
короткий цикл разработки. Обновления вступают в силу немедленно, после внесения изменений.
Минусы:
требует постоянного подключения к интернету;
не имеет доступ к системным возможностям смартфона и другому программному обеспечению смартфона;
трудно добиться полностью одинаковой работы приложения на разных моделях телефонов;
трудно имитировать нативные элементы пользовательского интерфейса для различных моделей смартфонов.
.3.2 Нативное мобильное приложение
Нативные приложения - приложения, разработанные специально для одной конкретной операционной системы смартфона.
Такое приложение поставляется через специальные магазины для приложений. Нативные приложения обеспечивают лучшее удобство использования, доступность наибольшего количества функций и лучшее соответствие рекомендациям по разработке пользовательского интерфейса (Android User Interface Guidelines).
Нативные приложения обычно разрабатываются с использованием интегрированной среды разработки (IDE), обычно разных для разных платформ. IDE предоставляют инструменты для построения отладки, управления проектами, контроля версий и. Эти инструменты нужны, потому что нативные приложения сложнее разрабатывать.
Главными преимуществами нативных приложений является скорость работы, одинаковый внешний вид и поведение на различных устройствах.
Плюсы:
может использовать все возможности устройства;
наиболее точно соответствует стилистике конкретной операционной системы;
наилучшая производительность;
мгновенный запуск приложения;
работа в фоновом режиме;
может функционировать без подключения к интернету;
поставляется из официальных магазинов, что внушает пользователю наибольшее доверие.
Минусы:
необходима отдельная реализация для каждой платформы;
долгий цикл разработки;
высокая стоимость производства.
.3.3 Гибридное приложение
Гибридное приложение - это web-приложение, построенное с использованием HTML5 и JavaScript, которое затем обернуто внутри тонкого собственного контейнера, который обеспечивает доступ к встроенным функциям платформы.
Гибридное приложение является компромиссом между web-приложением и нативным решением. Как и нативные приложения, они распространяются с помощью магазина приложений и могут пользоваться большинством доступных функций устройства. Как и web-приложения, они используют HTML, отображаемый в браузере, только браузер встроен в само приложение.
Гибридное приложение идеально подходит для тех, кто хочет пользоваться средствами web-разработки, но кому также нужен доступ к функциям мобильной операционной системы. Приложение разрабатывается один раз, а потом транслируется на нативные языки каждой конкретной платформы [2].
Плюсы:
кроссплатформенность;
доступ к функциям устройства;
разработка дешевле, чем разработка нативного приложения для каждой платформы;
поставляются из официальных магазинов.
Минусы:
низкая производительность приложения;
стиль приложения может не соответствовать рекомендациям для конкретной платформы;
не могут воспроизвести все особенности пользовательского интерфейса и общего стиля платформы.
.3.4 Выбор технологии для разработки приложения
Нативные приложения обеспечивают наибольшую скорость работы приложения, а также доступ ко всем функциям мобильного устройства. Отзывчивый пользовательский интерфейс, соответствующий общему виду приложений на конкретной платформе и рекомендациям по дизайну пользовательских интерфейсов возможно добиться только с помощью нативных приложений.
Основными плюсами web-приложений и гибридных приложений является кроссплатформенность и простота разработки. Так как требуется разработка для одной конкретной платформы, при выборе технологии разработки таким плюсом как кроссплатформенность можно пренебречь.
В результате было решено остановить выбор на создании нативного приложения, как наиболее подходящего под существующие требования.
Традиционными средствами разработки приложений под Android является язык программирования Java, принадлежащий компании Oracle. Основным средством разработки до декабря 2015 года являлась свободная интегрированная среда разработки модульных кроссплатформенных приложений - Eclipse. В декабре 2015 года компания Google, официальный владелец Android, установила официальным средством разработки - Android Studio (интегрированная среда разработки (IDE) для работы с платформой Android).
Другим, набирающим в последнее время популярность, инструментом для разработки мобильных приложений является платформа Xamarin.предлагает единый язык - C #, библиотеку классов и среду выполнения, которая работает на всех трех мобильных платформах iOS, Android и Windows Phone, но при этом собирает нативные приложения, которые достаточно производительны даже для написания сложных приложений и игр [3].уникален тем, что он сочетает в себе все возможности нативных приложений и добавляет ряд собственных мощных функций, в том числе: