Россия
Разработано приложение для вызова экстренных служб. При разработке приложения использовалась интегрированная среда разработки Android Studio совместно с языком программирования Kotlin. Приложение работает на мобильных устройствах с операционной системой Android 8 и выше
Приложение для вызова экстренных служб, интегрированная среда разработки Android Studio, язык программирования Kotlin
Целью данной работы является разработка приложения для вызова экстренных служб.
Для достижения поставленной цели были решены следующие задачи:
- Проанализирована предметная область;
- Проанализированы и выбраны имеющиеся программные и технические средства;
- Разработано приложение;
- Отлажено и протестировано программное обеспечение;
- Написано руководство пользователя.
В приложении реализованы следующие функции:
- Периодический мониторинг медицинских данных;
- Анализ отслеживаемых данных;
- Уведомление пользователя о выявленной патологии, с целью проверки ситуации;
- В случае сообщения пользователем приложению о том, что вызов служб спасения не нужен, продолжение работает в штатном режиме;
- В случае сообщения пользователем приложению о том, что вызов служб спасения необходим, предлагается выбор:
- Приложение звонит в службы спасения, и пользователь сам описывает ситуацию;
- Приложение отправляет СМС в службы спасения, сообщая данные пользователя (возможно и контакты родственников).
- В случае отсутствия реакции со стороны пользователя, приложение отправляет сообщение в службы спасения;
- Приложение работает в фоновом режиме;
- Приложение обладает удобным пользовательским интерфейсом, реализующим следующие функции:
- Ввод данных о пользователе, на случай отправки сообщения;
- Вызов служб спасения телефонным звонком.
- При первом запуске приложение запрашивает все необходимые разрешения для работы и данные пользователя.
Ввиду того, что приложение должно быть всегда под рукой, и охватывать максимально возможное число пользователей, целевой платформой была выбрана OS Android. В наше время телефон есть почти у каждого, поэтому она подходит лучше всего.
Для запуска приложения необходимо выполнение следующих условий:
- Android 8.0 или новее (уровень API 26 или выше);
- Архитектура armv7a, x86, или arm64-v8, либо же x86_64;
- Телефон должен обладать «Bluetooth» модулем, для связи с устройством мониторинга – браслетом (иначе ключевая часть функций будет не доступна).
Применяемое программное обеспечение
Приложение написано на языке Kotlin с использованием API Google Fit. В сторону выбора именно этого набора инструментов сыграли следующие причины:
- Kotlin был объявлен приоритетным языком программирования для Андроид платформ, ввиду чего множество инструментов и API легко импортируются в проект;
- Так как проект планируется, как социально-значимый, лицензирование Kotlin попадает под Apache License 2.0, что обеспечивает бесплатный доступ к компонентам;
- Google Fit API предоставляет разработчикам удобный набор инструментов и аналитики данных пользователей;
- Наличие большой документационной базы, пусть и на иностранном языке.
Разработка велась в IDE «Android studio». Для начала работы был настроен комплект сборки/разработки на мобильные платформы. В комплект были включены следующие компоненты:
- SDK 7.0;
- NDK 21.3.6528147.
Приложение можно сравнить со встроенными в некоторые смарт часы функциями. Однако стоит отметить следующее:
- Не во всех моделях есть подобная функция;
- Большая часть смарт часов – импортного производства, это означает, что в любой момент подобных девайсов может не оказаться на рынке, а также нет никакой гарантии работоспособности функционала на территории РФ;
- Интерфейс и способы вызова функций не единообразны.
Основными примерами рабочего и надежного подобного функционала является Apple и Samsung Watch. Однако для рядового пользователя данные решения являются довольно дорогими, а также их работоспособность и поставки в данный момент остаются под вопросом. Также есть еще несколько похожих и доступных решений, однако по статистике отзывов удобство и работоспособность подобных устройств вызывают сомнения.
Плюсами разработанного приложения в отличие от аналогичных решений является унификация и стандартизация алгоритма действий пользователя, а также автоматизация процесса вызова, что полезно в случаях с потерей сознания.
проекта
Разработанное приложение оперирует с небольшим набором данных. Первые данные, какие программа получает, это общая информация о пользователе, предоставленная им самим:
- Фамилия;
- Имя;
- Отчество;
- Год рождения;
- Фактический адрес проживания.
Данная информация запрашивается у пользователя при первом запуске, и записывается в файл. Она собирается с целью реакции приложения в экстренной ситуации, когда пользователь находится в опасности, и не отвечает приложению о своем статусе. В данном случае приложение отправляет эту информацию СМС сообщением в МЧС. Еще одним видом информации с которым приложение работает, являются данные с мониторингового устройства (пульс). Эти данные хранятся в Google fit до востребования.
Приложение, с определенной периодичностью получает данные с устройства мониторинга и, если эти данные не в порядке, опрашивает пользователя о необходимости вызова МЧС. В случае, если помощь действительно нужна и человек в сознании, приложение предлагает ему выбор: либо приложение звонит в МЧС и пользователь сам описывает ситуацию, либо по желанию пользователя приложение само посылает СМС сообщение в службы спасения. В случае отсутствия реакции со стороны пользователя приложение также само связывается с МЧС. Если человек сообщает, что все в порядке, приложение продолжает работу в штатном режиме.
Для обеспечения выполнения поставленных перед приложением задач были разработаны соответствующие функции (рис. 1 – 3).
На рисунке 1 приведена логическая блок-схема работы функции проверки разрешений доступа к функциям телефона. Она запускается каждый раз при открытии приложения, что гарантирует работоспособность. Устроена данная функция следующим образом: по списку из манифеста приложения по каждому разрешению проводится опрос на статус «PERMIS-SION_GRANTED» и в случае несоответствия проводится запрос на получение разрешений от пользователя.
На рисунке 2 представлена схема работы функции отправки запроса и анализа полученных данных. В начале работы функции создается объект «DataReadReaquest», в который вносятся временные параметры запроса, а также тип запрашиваемых данных с желаемым видом их агрегирования. Данные о времени из запроса выводятся для удобства в главное окно программы, запрос отправляется в Google Fit. Полученые данные, в случае успешного их получения. извлекаются из «bucket», выводятся на монитор устройства, после чего в этой же функции проводится их анализ. В случае обнаружения выхода за пределы нормы данных о сердечном ритме, вызывается функция отправки уведомления и запускается таймер ожидания ответа пользователя (3 минуты). Если пользоваетель реагирует на уведомление, то ему открывается функциональное окно, сообщающее об обнаруженом отклонении и предлагающее ему выбор:
- Вызов службы спасения по номеру телефона;
- Отправка СМС в службы спасения;
- Продолжить работу в штатном режиме.
В случае выбора пользователем последнего варианта, программа еще один цикл опроса не реагирует на отклонения, таймер останавливается.
Если же пользователь не реагирует на уведомление приложения, то по истечении времени работы таймера вызывается функция отправки СМС в службы спасения. В случае отсутствия отклонений работа продолжается в штатном режиме.
На рисунке 3 представлена одна из основных функций программы, которая проверяет заданы ли начальные параметры, запрашивает их при отсутствии и запускает периодическую работу с функцией отправки запроса и анализа полученных данных.
Разработка интерфейсов приложения
Приложение должно обладать удобным и интуитивно понятным интерфейсом. Ввиду этого, при технической реализации проекта были написаны следующие 4 интерфейса: интерфейс главного окна, интерфейс записи данных о пользователе, интерфейс задания начальных данных, а также интерфейс выбора действий при обнаружении отклонений.
Интерфейс главного окна (рис. 4) является основным и открывается при запуске приложения.
Интерфейс записи данных о пользователе (рис. 5) обеспечивает запись данных для отправки СМС по запросу или в случае отсутствия реакции пользователя.
Интерфейс задания начальных данных (рис. 6) реализует ввод необходимых для циклической работы параметров: начальное время опроса, интервал опрашиваемых данных (минуты) и периодичность опроса (также в минутах).
Интерфейс выбора действий при обнаружении отклонений (рис. 7) открывается при выходе за пределы нормы значения сердечного ритма, и предлагает вызов скорой помощи по телефонному звонку, СМС, а также сообщение программе об отсутствии необходимости вызова служб спасения.
Для стабильной работы программы требуется стабильная синхронизация данных из приложений браслета в Google Fit. Это можно реализовать с некоторыми приложениями напрямую, либо воспользоваться сторонними сервисами, например «Health Sync».
При первом запуске, приложение опрашивает пользователя на разрешение всех необходимых разрешений к функциям телефона. Для работы приложения пользователь обязан их принять. После этого он имеет полноценный доступ к главному интерфейсу.
Разработанное приложение призвано вызвать помощь автоматически в чрезвычайных ситуациях.
Результаты работы имеют практическую ценность, так как программный продукт может оказаться полезным обществу.
Рисунок 1 – Блок-схема работы проверки разрешений
Рисунок 2 – Функция отправки запроса и анализа полученных данных
Рисунок 3 – Запуск периодической работы
Рисунок 4 – Интерфейс главного окна
Рисунок 5 – Интерфейс записи данных о пользователе
Рисунок 6 – Интерфейс задания начальных данных
Рисунок 7 – Интерфейс выбора действий при обнаружении отклонений
Целью данной работы является разработка приложения для вызова экстренных служб.
Для достижения поставленной цели были решены следующие задачи:
- Проанализирована предметная область;
- Проанализированы и выбраны имеющиеся программные и технические средства;
- Разработано приложение;
- Отлажено и протестировано программное обеспечение;
- Написано руководство пользователя.
В приложении реализованы следующие функции:
- Периодический мониторинг медицинских данных;
- Анализ отслеживаемых данных;
- Уведомление пользователя о выявленной патологии, с целью проверки ситуации;
- В случае сообщения пользователем приложению о том, что вызов служб спасения не нужен, продолжение работает в штатном режиме;
- В случае сообщения пользователем приложению о том, что вызов служб спасения необходим, предлагается выбор:
- Приложение звонит в службы спасения, и пользователь сам описывает ситуацию;
- Приложение отправляет СМС в службы спасения, сообщая данные пользователя (возможно и контакты родственников).
- В случае отсутствия реакции со стороны пользователя, приложение отправляет сообщение в службы спасения;
- Приложение работает в фоновом режиме;
- Приложение обладает удобным пользовательским интерфейсом, реализующим следующие функции:
- Ввод данных о пользователе, на случай отправки сообщения;
- Вызов служб спасения телефонным звонком.
- При первом запуске приложение запрашивает все необходимые разрешения для работы и данные пользователя.
Ввиду того, что приложение должно быть всегда под рукой, и охватывать максимально возможное число пользователей, целевой платформой была выбрана OS Android. В наше время телефон есть почти у каждого, поэтому она подходит лучше всего.
Для запуска приложения необходимо выполнение следующих условий:
- Android 8.0 или новее (уровень API 26 или выше);
- Архитектура armv7a, x86, или arm64-v8, либо же x86_64;
- Телефон должен обладать «Bluetooth» модулем, для связи с устройством мониторинга – браслетом (иначе ключевая часть функций будет не доступна).
Применяемое программное обеспечение
Приложение написано на языке Kotlin с использованием API Google Fit. В сторону выбора именно этого набора инструментов сыграли следующие причины:
- Kotlin был объявлен приоритетным языком программирования для Андроид платформ, ввиду чего множество инструментов и API легко импортируются в проект;
- Так как проект планируется, как социально-значимый, лицензирование Kotlin попадает под Apache License 2.0, что обеспечивает бесплатный доступ к компонентам;
- Google Fit API предоставляет разработчикам удобный набор инструментов и аналитики данных пользователей;
- Наличие большой документационной базы, пусть и на иностранном языке.
Разработка велась в IDE «Android studio». Для начала работы был настроен комплект сборки/разработки на мобильные платформы. В комплект были включены следующие компоненты:
- SDK 7.0;
- NDK 21.3.6528147.
Приложение можно сравнить со встроенными в некоторые смарт часы функциями. Однако стоит отметить следующее:
- Не во всех моделях есть подобная функция;
- Большая часть смарт часов – импортного производства, это означает, что в любой момент подобных девайсов может не оказаться на рынке, а также нет никакой гарантии работоспособности функционала на территории РФ;
- Интерфейс и способы вызова функций не единообразны.
Основными примерами рабочего и надежного подобного функционала является Apple и Samsung Watch. Однако для рядового пользователя данные решения являются довольно дорогими, а также их работоспособность и поставки в данный момент остаются под вопросом. Также есть еще несколько похожих и доступных решений, однако по статистике отзывов удобство и работоспособность подобных устройств вызывают сомнения.
Плюсами разработанного приложения в отличие от аналогичных решений является унификация и стандартизация алгоритма действий пользователя, а также автоматизация процесса вызова, что полезно в случаях с потерей сознания.
проекта
Разработанное приложение оперирует с небольшим набором данных. Первые данные, какие программа получает, это общая информация о пользователе, предоставленная им самим:
- Фамилия;
- Имя;
- Отчество;
- Год рождения;
- Фактический адрес проживания.
Данная информация запрашивается у пользователя при первом запуске, и записывается в файл. Она собирается с целью реакции приложения в экстренной ситуации, когда пользователь находится в опасности, и не отвечает приложению о своем статусе. В данном случае приложение отправляет эту информацию СМС сообщением в МЧС. Еще одним видом информации с которым приложение работает, являются данные с мониторингового устройства (пульс). Эти данные хранятся в Google fit до востребования.
Приложение, с определенной периодичностью получает данные с устройства мониторинга и, если эти данные не в порядке, опрашивает пользователя о необходимости вызова МЧС. В случае, если помощь действительно нужна и человек в сознании, приложение предлагает ему выбор: либо приложение звонит в МЧС и пользователь сам описывает ситуацию, либо по желанию пользователя приложение само посылает СМС сообщение в службы спасения. В случае отсутствия реакции со стороны пользователя приложение также само связывается с МЧС. Если человек сообщает, что все в порядке, приложение продолжает работу в штатном режиме.
Для обеспечения выполнения поставленных перед приложением задач были разработаны соответствующие функции (рис. 1 – 3).
На рисунке 1 приведена логическая блок-схема работы функции проверки разрешений доступа к функциям телефона. Она запускается каждый раз при открытии приложения, что гарантирует работоспособность. Устроена данная функция следующим образом: по списку из манифеста приложения по каждому разрешению проводится опрос на статус «PERMIS-SION_GRANTED» и в случае несоответствия проводится запрос на получение разрешений от пользователя.
На рисунке 2 представлена схема работы функции отправки запроса и анализа полученных данных. В начале работы функции создается объект «DataReadReaquest», в который вносятся временные параметры запроса, а также тип запрашиваемых данных с желаемым видом их агрегирования. Данные о времени из запроса выводятся для удобства в главное окно программы, запрос отправляется в Google Fit. Полученые данные, в случае успешного их получения. извлекаются из «bucket», выводятся на монитор устройства, после чего в этой же функции проводится их анализ. В случае обнаружения выхода за пределы нормы данных о сердечном ритме, вызывается функция отправки уведомления и запускается таймер ожидания ответа пользователя (3 минуты). Если пользоваетель реагирует на уведомление, то ему открывается функциональное окно, сообщающее об обнаруженом отклонении и предлагающее ему выбор:
- Вызов службы спасения по номеру телефона;
- Отправка СМС в службы спасения;
- Продолжить работу в штатном режиме.
В случае выбора пользователем последнего варианта, программа еще один цикл опроса не реагирует на отклонения, таймер останавливается.
Если же пользователь не реагирует на уведомление приложения, то по истечении времени работы таймера вызывается функция отправки СМС в службы спасения. В случае отсутствия отклонений работа продолжается в штатном режиме.
На рисунке 3 представлена одна из основных функций программы, которая проверяет заданы ли начальные параметры, запрашивает их при отсутствии и запускает периодическую работу с функцией отправки запроса и анализа полученных данных.
Разработка интерфейсов приложения
Приложение должно обладать удобным и интуитивно понятным интерфейсом. Ввиду этого, при технической реализации проекта были написаны следующие 4 интерфейса: интерфейс главного окна, интерфейс записи данных о пользователе, интерфейс задания начальных данных, а также интерфейс выбора действий при обнаружении отклонений.
Интерфейс главного окна (рис. 4) является основным и открывается при запуске приложения.
Интерфейс записи данных о пользователе (рис. 5) обеспечивает запись данных для отправки СМС по запросу или в случае отсутствия реакции пользователя.
Интерфейс задания начальных данных (рис. 6) реализует ввод необходимых для циклической работы параметров: начальное время опроса, интервал опрашиваемых данных (минуты) и периодичность опроса (также в минутах).
Интерфейс выбора действий при обнаружении отклонений (рис. 7) открывается при выходе за пределы нормы значения сердечного ритма, и предлагает вызов скорой помощи по телефонному звонку, СМС, а также сообщение программе об отсутствии необходимости вызова служб спасения.
Для стабильной работы программы требуется стабильная синхронизация данных из приложений браслета в Google Fit. Это можно реализовать с некоторыми приложениями напрямую, либо воспользоваться сторонними сервисами, например «Health Sync».
При первом запуске, приложение опрашивает пользователя на разрешение всех необходимых разрешений к функциям телефона. Для работы приложения пользователь обязан их принять. После этого он имеет полноценный доступ к главному интерфейсу.
Разработанное приложение призвано вызвать помощь автоматически в чрезвычайных ситуациях.
Результаты работы имеют практическую ценность, так как программный продукт может оказаться полезным обществу.
Рисунок 1 – Блок-схема работы проверки разрешений
Рисунок 2 – Функция отправки запроса и анализа полученных данных
Рисунок 3 – Запуск периодической работы
Рисунок 4 – Интерфейс главного окна
Рисунок 5 – Интерфейс записи данных о пользователе
Рисунок 6 – Интерфейс задания начальных данных
Рисунок 7 – Интерфейс выбора действий при обнаружении отклонений
1. Документация Google Fit API «Начать работу на Android» [Электронный ресурс].-URL: https://developers.google.com/fit/android/get-started?hl=en (дата обращения: 16.05.2023).