Дипломная (вкр): Создание мобильного приложения для организации

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

через равные промежутки времени. Запуск адаптера синхронизации по истечении выбранного интервала, или запуск в определенное время дня;

по требованию. Запуск адаптера синхронизации в ответ на действие пользователя.

Для использования адаптеров синхронизации требуется немного больше работы для настройки, чем других методов, однако, если приложение уже имеет аутентификатор и использует поставщики контента, то часть работы уже выполнена. Самым большим преимуществом адаптеров синхронизации является то, что они могут работать с наибольшим количеством поддерживаемых устройств и не требуют для своей работы дополнительных сервисов, таких как Google Play.

.8.5 Режим Doze

В Android версии 5 был введен режим Doze, как способ свести к минимуму расход энергии батареи, когда пользователь некоторое время не пользуется устройством. Режим Doze автоматически включается на устройствах под управлением Android API уровня 23 и выше. Этот режим сильно влияет на работу сервисов синхронизации.

Режим Doze активируется через некоторое время в таких условиях: экран пользователя отключен, устройство стационарно и устройство не заряжается. В режиме Doze доступ к сети приостанавливается, а стандартные сигналы откладываются, включая запуск адаптеров синхронизации и JobSchedulers. В режиме Doze есть окна обслуживания, которые позволяют всем планировщикам в системе работать сразу, сохраняя заряд батареи организуя нечастые и сгруппированные сетевые вызовы [6].

Работа режима Doze показана на рисунке 2.8.

Рисунок 2.8 - Схема работы режима Doze

Приложения с базовой функциональностью, требующие работы по расписанию вне окон обслуживания режима Doze, могут быть включены в белый список. Такой белый список требует специального разрешения, а политики Google Play допускают его только в определенных случаях.

.8.6 Выбор метода синхронизации

Есть много аспектов, которые следует учитывать при попытке выбрать правильный способ для планирования синхронизации данных в приложениях Android:

AlarmManager, позволяет строго держать частоту срабатывания сигнала и пробуждения устройства, но негативно влияет на автономную работу устройства;

JobScheduler обеспечивает эффективное планирование фоновых задач, но работает с версией Android выше 5;

GCM Network Manager обеспечивает эффективное планирование фоновых задач, если пользователь установил сервисы Google Play и проще в управлении, чем JobService.

Адаптеры синхронизации - хорошее решение для синхронизации локальных данных с данными сервера, если в приложении уже реализован аутентификатор и провайдеры контента.

Так как для разрабатываемого приложения наибольшим приоритетом обладает регулярность обновления информации, а время жизни устройства на батарее не играет никакой роли (мобильные устройство большую часть времени находятся на зарядке), то влияние режима Doze на сервисы синхронизации приложения недопустимо.и GCM Network Manager являются единственными вариантами для прерывания режима Doze.

Для планирования запуска синхронизации данных был выбран класс AlarmManager обладающий самым предсказуемым временем запуска и не требующий для своей работы наличия дополнительных сервисов.

Для осуществления процесса синхронизации в приложении реализованы два сервиса:

UpdateOrdersService, осуществляет синхронизацию списка заказов;

UploadPhotosService; осуществляет синхронизацию фотографий транспортных средств.

Оба этих сервиса являются наследниками базового класса IntentService.

Класс IntentService автоматически создает очередь намерений, через которые был вызван сервис, что упрощает работу с многопоточностью.

.9 Тестирование приложения

В процессе разработки приложения производилось поэтапное тестирование с целью выявления программных ошибок и несоответствий заданным требованиям к приложению. Для этого были созданы эмуляторы смартфона с разными диагоналями экрана для разных версий Android. Тестируемый программный продукт последовательно запускался на этих эмуляторах, его поведение анализировалось, и при необходимости по результатам анализа вносились изменения в код [12].

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

После завершения цикла разработки, мобильное приложение было протестировано на реальных устройствах с использованием режима отладки и без него.

2.10 Публикация приложения

Последним шагом в разработке мобильного приложения является его публикация. Публикация - это процесс подготовки мобильного приложения для установки на устройства пользователей и этот процесс включает в себя две основные задачи:

подготовка к публикации. Создается релиз-версия приложения, которая может быть развернута на устройствах на базе Android;

распространение. Релиз-версия приложения поставляется через один или несколько различных каналов распространения.

Существует несколько способов, помощью которых Android приложение может быть доставлено пользователям:

через web-сайт. Файл приложения может быть доступен для загрузки на web-сайте. Загрузив файл, пользователи могут самостоятельно установить приложение. Для установки приложения самостоятельно, пользователь должен обладать некоторой квалификацией. При этом невозможно контролировать обновление приложения;

непосредственная установка на телефон. Среди работников одной организации возможно распространение мобильного приложения через IT отдел организации. Для установки и обновления приложения пользователям необходимо посещать офис организации;

через магазин приложений Google Play. Мобильное приложение может быть установлено удаленно и обновлено автоматически.

Для публикации мобильного приложения был выбран сервис Google Play.

Сервис Google Play позволяет ограничить распространение приложения заданной группой пользователей (работников организации), наиболее быстро производить обновление приложения на мобильных устройствах пользователей, а также следить за статистикой критических ошибок приложения.

3. Описание функциональности приложения

При первом запуске приложения отображается экран для входа в приложение показанный на рисунке 3.1.

Экран входа в приложение будет отображен при первом запуске приложения и при следующих запусках, если пользователь вышел из него.

Для входа в приложение необходимо выбрать имя пользователя из выпадающего списка и ввести пароль в соответствующее поле.

Рисунок 3.1 - Экран входа в приложение

После входа в приложение и при повторных запусках с ранее введенными логином и паролем будет отрываться экран со списком заказов назначенных для текущего пользователя представленный на рисунке 3.2.

По умолчанию в списке заказов отображаются только заказы со статусами "выполняется" и "в очереди".

Рисунок 3.2 - Экран со списком заказов текущего пользователя

Короткое описание каждого заказа содержится в отдельных "карточках" списка. Статус заказа отображается в нижней части "карточки".

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

Пользователь будет получать уведомления от приложения даже если оно закрыто, но только до тех пор, пока не нажмет кнопку "выход". После нажатия кнопки "выход" приложение будет закрыто и при повторном его запуске потребуется вновь ввести имя пользователя и пароль.

При нажатии кнопки "фильтр" будет вызвано диалоговое окно с возможностью выбора вариантов фильтрации заказов, представленное на рисунке 3.3.

Рисунок 3.3 - Диалоговое окно с опциями фильтрации заказов пользователя

При нажатии на любую из "карточек" в списке заказов будет открыт экран, содержащий детали заказа, представленный на рисунке 3.4.

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

При нажатии на любой из телефонов клиента будет вызвана активность, зарегистрированная в операционной системе как активность для набора номера телефона или предложен список из подобных активностей, если их зарегистрировано несколько.

При нажатии на любой из адресов, указанных в деталях заказа будет вызвана активность, зарегистрированная в системе как активность для отображения адреса на карте (Яндекс. Карты, Google Maps или другая), или предложен список из всех активностей, предлагающих данный функционал и соответствующим образом зарегистрированных в операционной системе.

Рисунок 3.4 - Экран, содержащий подробную информацию о заказе

Заключение

В ходе дипломной работы было разработано мобильное приложение для организации информационного обмена между мобильными сотрудниками компании и CRM системой. Были сформированы требования, спроектирован дизайн и создано приложение, реализующее следующие функции:

оповещение пользователя мобильного приложения о заказах на оказание услуг техпомощи и эвакуации, зарегистрированных в CRM системе предприятия: о поступлении новых заказов и изменении деталей ранее полученных заказов;

просмотр списка заказов, привязанных к пользователю;

просмотр детальной информация по заказу;

быстрый набор номера клиента из данных заказа;

поиск адреса оказания техпомощи во внешних программных средствах;

добавление и просмотр ранее добавленных фотографий транспортных средств заказчика полученных с использованием встроенной в мобильный телефон камерой;

автоматическая загрузка фотографий транспортных средств из мобильного приложения в CRM систему предприятия.

Приложение было протестировано на стандартных эмуляторах включенных в поставку программных средств для разработки мобильных приложений Android (Visual Studio Emulator for Android и Android SDK Emulator), взятых из SDK Android, так и на реальных устройствах, используемых в организации.

Список использованных источников

1.      Прогрессивные Web-приложения [Электронный ресурс]: Progressive Web Apps - Режим доступа: https://developers.google.com/web/progressive-web-apps/

.        Документация по Apache Cordova [Электронный ресурс]: Apache Cordova Documentation - Режим доступа: https://cordova.apache.org/docs/en/latest/

.        Руководство по Xamarin.Android [Электронный ресурс]: Xamarin.Android guides - Режим доступа: https://developer.xamarin.com/guides/android/

.        Разработка мобильных приложений с использованием Xamarin [Электронный ресурс]: Learn about mobile development with Xamarin - Режим доступа: https://msdn.microsoft.com/library/mt488768.aspx

.        Википедия [Электронный ресурс]: Comparison of C Sharp and Java - https://en.wikipedia.org/wiki/Comparison_of_C_Sharp_and_Java

6.      Руководство по Android API [Электронный ресурс]: Android API Guides - Режим доступа: https://developer.android.com/guide/index.html

7.      Reto Meier. Professional Android 4 Application Development. / Reto Meier - Wrox, 2012. - 864 p.

.        Helder Vasconcelos. Asynchronous Android Programming / Helder Vasconcelos - Packt Publishing, 2016. - 394 p.

.        Dawn Griffiths. Head First Android Development: A Brain-Friendly Guide / Dawn Griffiths, David Griffiths - O'Reilly Media, 2015 - 734 p.

10.    Роберт Дж. Торрес. Практическое руководство по проектированию и разработке пользовательского интерфейса / Роберт Дж. Торрес - М.: Вильямс, 2002 - 400 с.: ил.

.        Рихтер, Дж. CLR via C#. Программирование на платформе Microsoft .NET Framework4.0 на языке C#. 3-е изд. - СПб.: Питер, 2012. - 982 с.: ил.

.        Котляров В.П. Основы тестирования программного обеспечения. / В.П. Котляров, Т.В. Коликова - М.: Интернет-Университет Информационных Технологий, 2014. - 285 с.: ил.

Источник: https://www.bibliofond.ru/detail.aspx?id=897268