как написать приложение для часов андроид
Разработка и отладка приложений для Android Wear
Носимые устройства – это передний край сегодняшних информационных технологий. Это – мощный тренд. Самые популярные «носимые компьютеры» работают под управлением ОС Android Wear от Google. Она не так уж сильно отличается от того Android’а, который знаком огромному количеству разработчиков. Как результат, любой из этих разработчиков может без особых сложностей начать создавать приложения для Android Wear и претендовать на свою долю внимания от весьма перспективного рынка «носимых приложений».
В этой статье мы поговорим об ОС Android Wear, обратив особое внимание на устройства, работающие под её управлением, на типы приложений, на их разработку и отладку. В частности, рассмотрим два способа отладки с использованием ADB.
Устройства
Понятие «носимый компьютер» подходит для широкого спектра «вычислительных машин». Среди них – гарнитуры для телефонов, медицинские и спортивные устройства, «цифровые украшения» и даже компьютеры для животных. Однако сегодня наибольшее распространение получили так называемые «умные часы».
Крупнейшие производители оборудования выпускают собственные серии наручных часов, которые несут на борту Android Wear. Среди устройств этого типа можно отметить ASUS ZenWatch 2, Motorola 360, LG Watch Urbane, Samsung Gear S, Sony SmartWatch 3. Выглядят эти часы по-разному, но в их функциональности, благодаря одной и той же программной платформе, много общего. Это приложение Google Now, возможность отслеживания физической активности пользователя, средства для управления воспроизведением музыки, поддержка голосовых команд.
Все смарт-часы имеют ещё одну общую черту: они зависят от смартфонов, взаимодействуя с ними с помощью Bluetooth. Такой подход используется не только в среде Android, но и на платформе iOS. Взаимодействие смартфонов и планшетов с часами на программном уровне обеспечивается благодаря специальным сопутствующим приложениям.
Что разрабатывать для умных часов?
Хотя Android Wear – проект сравнительно новый, Android Wear Center, площадка, аналогичная Google Play, предлагает множество приложений, созданных специально для носимых устройств.
Магазин приложений для умных часов
Здесь есть программы на любой вкус. Каждый день в Android Wear Center публикуются новые приложения для персонализации часов, для работы с музыкой, приложения для организации работы с функциями связи, разработки для здоровья, спорта и другие. Несмотря на небольшой размер экранов часов, есть и игры для них. Например – аркады и паззлы, хотя «носимых игр» пока не так много.
Игры для умных часов
Подавляющее большинство приложений – это циферблаты, которые позволяют настраивать основную «часовую» функцию – показ времени.
Как разрабатывать?
С одной стороны, написание приложений для умных часов очень похоже на создание программ для планшетов и смартфонов. В дело идут знакомые Android-разработчикам инструменты, такие, как JDK, Android SDK (платформа Android Wear поддерживает большую часть API Android), Eclipse, Android Studio или другие интегрированные среды разработки. Здесь можно найти список классов из библиотеки поддержки носимых устройств (Wearable Support Library).
С другой стороны, компания Google опубликовала креативную концепцию и принципы дизайна, созданные специально для тех, кто разрабатывает «носимые» приложения. В этих документах раскрываются основные отличия между «мобильными» и «носимыми» технологиями. При разработке приложений нужно учитывать маленький размер экрана умных часов и особый характер взаимодействия пользователя с устройством. В дополнение к этому нужно принимать во внимание структуру приложения, зависимость поведения программ от контекста, особенности пользовательского интерфейса, стиль и возможность создания циферблатов.
Как отлаживать?
Отладка – это то, без чего не обходится процесс создания любого программного кода. Разработка для Android Wear – не исключение. В этом разделе мы рассмотрим отладку «носимых» приложений на примере часов LG G Watch R, подключённых к Nexus 4.
Android Wear поддерживает два способа отладки: с использованием проводного интерфейса USB и по беспроводному Bluetooth.
Независимо от того, какой способ связи умных часов с ПК будет выбран, нужно выполнить следующие подготовительные шаги.
Отладочный мост Android (Android Debub Bridge, ADB) – это инструмент командной строки, который обеспечивает взаимодействие компьютера с устройствами, работающими под управлением ОС Android или с соответствующими эмуляторами.
Для того чтобы отлаживать приложения для Android Wear, нужно включить на устройствах работу в режиме отладки. Сделать это необходимо и на умных часах, и на смартфоне, к которому они подключены. Если устройство впервые используется для отладки, нужно открыть его Настройки (Settings), войти в раздел Об устройстве (About) и семь раз коснуться элемента Номер сборки (Build number). После этого в списке настроек устройства появится новая строка – Параметры разработчика (Developer Options). На устройствах различных производителей названия пунктов могут выглядеть иначе.
Включение режима разработчика на умных часах
Включение отладки с использованием ADB на умных часах
После этого, если планируется использовать USB-отладку, выполняются следующие действия.
Подключение часов к ПК с помощью USB-кабеля
Для этого нужно нажать ОК во всплывающем окне с соответствующим вопросом. Оно появится на смартфоне или планшете, с которым связаны часы.
Для USB-отладки приложений на часах нужно разрешить её на смартфоне или планшете
Для того, чтобы проверить, распознал ли ADB умные часы, подключённые к компьютеру, можно воспользоваться командой adb devices в командной строке.
Результат выполнения команды adb devices
После этого всё готово к отладке «носимых» приложений по USB. А вот если вы решили воспользоваться Bluetooth-отладкой, то подготовка к ней будет немного сложнее. Для этого надо выполнить следующие действия.
Включение отладки по Bluetooth на часах
Включение отладки по Bluetooth на смартфоне и информация о подключении
Разрешение отладки по USB на телефоне
Разрешение отладки носимого устройства, подключённого к смартфону
После выполнения вышеописанных действий состояние устройств изменится, это можно видеть на рисунке.
Изменение информации о подключении устройств
Когда подключение удастся, список устройств, распознанных ADB, будет выглядеть примерно так, как показано ниже.
Список устройств, распознанных ADB
Теперь, когда все подготовительные шаги завершены, приложения на часах можно отлаживать, используя команды ADB.
Как делать скриншоты на часах?
ADB умеет не только отлаживать приложения. Возможности этого инструмента гораздо шире. Например, сделать скриншот на часах – не такая простая задача, как может показаться на первый взгляд. Так, команда для съёмки скриншота в программе, обеспечивающей связь с часами, делает копии экрана, но умеет лишь отправлять их по электронной почте или публиковать в социальных сетях. Для того чтобы заполучить копию экрана часов на компьютер, удобнее и быстрее всего использовать соответствующие команды ADB:
Обратите внимание на то, что экран у часов круглый, а скриншот – квадратный. Это следует учитывать при разработке приложений и работе над удобством их использования. Если элемент интерфейса приложения виден на копии экрана, он не обязательно целиком появится на экране часов.
Квадратные скриншоты часов с круглым циферблатом
Выводы
Союз современных технологий, таких, как процессор Intel Quark и операционная система Android Wear, открывает новые возможности не только для разработчиков устройств, но и для создателей приложений.
Как видите, Android-разработчик, имеющий опыт в создании приложений для смартфонов и планшетов, может легко переключиться на программы для носимых вычислительных устройств – таких, как умные часы. Нужно лишь учесть некоторые особенности и можно приниматься за дело.
Пишем первое приложение для Samsung Smart Watch и OS Tizen
Привет Хабр! В недавней публикации описывались первые впечатления от смарт-часов Samsung Galaxy Watch, работающих под ОС Tizen. Следующим шагом стало интересно выяснить, как разрабатывать под эту систему собственные приложения, как на эмуляторе, так и на реальных часах.
Процесс в целом, оказался несложный (особенно когда программируешь не один год), хотя в нем и есть свои тонкости. Кому интересно продолжение, подробности под катом.
Осторожно траффик, много скриншотов.
Шаг 1. Установка IDE и компонентов
Первый шаг прост и очевиден. Идем на сайт Samsung и скачиваем Tizen Studio, версию выбираем в зависимости от операционной системы. На момент публикации текущей версией является 2.5, ее и будем использовать.
После установки запускается Package Manager, с помощью которого нужно установить требуемые пакеты для разработки. Мы выбираем 3.0 Wearable.
Как видно из скриншота, версия 4.0 доступна только в виде Preview, но новые возможности мы использовать сейчас все равно не будем, так что 3.0 вполне хватит. Помимо этого, необходимо зайти в раздел Extention SDK, и выбрать там Samsung Certificate Extention. Это важно, т.к. без управления сертификатами загрузить приложение на часы будет невозможно. По умолчанию этот компонент не выбирается, и было потрачено не менее получаса на выяснение, почему выдается ошибка неправильного сертификата.
Шаг 2. Создание проекта
Следующий пункт предлагает выбрать, на чем писать — нативное или web-приложение, C++ или HTML5.
Разумеется, только хардкор, выбираем C++. Следующим шагом можно выбрать тип приложения, которых довольно-таки много. Выбираем Basic UI.
Остальные пункты не так интересны, нужно выбрать название приложения, иконку и пр. Я выбрал простое название test1, иконка была оставлена по умолчанию. В завершении, визард создает приложение, состоящее из файла test1.c и файла tizen-manifest.xml, хранящего основные настройки приложения.
Кстати, сама среда разработки сделана на базе Eclipse, и выглядит примерно так.
Теперь приложение можно запустить на эмуляторе часов. Выбираем в меню Tools — Emulator Manager. Появляется окно где можно выбрать и запустить эмулятор.
Когда эмулятор запущен, запускаем приложение из Tizen Studio. Вряд ли оно попадет в Top-100, но учитывая что мы не написали никакого кода, и так неплохо:
Шаг 3. Разбираем код
Посмотрим, что сгенерировал нам Tizen Studio.
Структура appdata хранит указатели на основные контролы, используемые в программе. В функции main вызывается системная функция ui_app_main, которая инициализируется всеми основными callback-функциями жизненного цикла программы (app_create, app_pause, app_terminate и пр).
Подробнее про жизненный цикл программы на Tizen можно прочитать здесь.
Наконец, доходим до функции, где и создается требуемый нам UI:
Не особо вдаваясь в подробности, можно видеть что здесь создается окно приложения elm_win, которое является обязательным для приложения Tizen. Внутри окна создается объект Conformant, управляющий созданием контента переменного размера (размер может меняться, например, при выдвижении клавиатуры). В нашем приложении можно было бы наверно обойтись и без него, т.к. клавиатуру мы не используем, но раз уж есть, пусть будет. Наконец, последним шагом создается объект label. Указатели на все объекты сохраняются в структуре appdata, которую мы рассматривали выше. Наконец, последняя функция evas_object_show показывает созданное окно на экране часов.
На этом можно было бы и закончить, но ведь интересно написать что-то свое. Выведем на экран кнопку, при нажатии которой текст label будет меняться.
Используемая в примере функция elm_object_content_set выводит только один контрол. Но нам надо добавить несколько, поэтому воспользуемся компонентом Box, который в свою очередь будет вставлен в контейнер Naviframe.
Убираем из вышеприведенного кода создание Label и заменяем его на код:
Как можно видеть, мы создаем 2 контрола label и button. Приятный бонус от системы — при задании текста label можно использовать теги форматирования HTML. Для кнопки также создадим обработчик btn_clicked_cb:
В качестве параметра обработчика мы передаем указатель на appdata, где хранятся все контролы. Кстати, новые контролы туда тоже нужно добавить:
Теперь все, запускаем приложение, и видим наше окно с созданными label и button.
Нажимаем на кнопку, и текст label заменяется на «Hello habr!», как и описано в обработчике (мы здесь не выносим текст в ресурсы чтобы не усложнять программу, в реальном коде конечно так делать не следует).
Шаг 4. Запускаем приложение на часах
Пока что наше приложение работает только на эмуляторе, интересно запустить его на реальных часах. Процесс не совсем тривиальный, хотя ничего принципиально сложного тут тоже нет.
— Включаем на часах возможность «отладки» и перезапускаем часы.
— Активируем на часах режим постоянного подключения к WiFi.
— Когда часы подключены к WiFi, запускаем Device Manager, и выбираем там Remote Device Manager. В открывшемся окне нажимаем кнопку Scan, и если предыдущие шаги были сделаны правильно, мы увидим IP-адрес наших часов.
Нажимаем Connection → ON, и если все было сделано правильно, на часах появится запрос подтверждения соединения, и соединение будет установлено. Собственно, чтобы подключиться к часам, их даже не обязательно снимать с руки.
Когда все готово, переходим в Tizen Studio, и в выпадающем списке можем выбрать, где запускать приложение — на часах, или в симуляторе. Выбираем часы, запускаем… и получаем ошибку, вроде «error message: :Non trusted certificate is used. Register valid certificate: ».
Увы, в современном мире нельзя просто так взять и запустить приложение на своем собственном устройстве — без цифровых подписей и сертификатов ничего не работает (и еще хорошо, если как в случае Apple, не нужно заплатить 99$ в год за наличие такого сертификата, такое требование они отменили только недавно).
Но впрочем, здесь все легко решаемо, если кто не забыл, не зря на первом шаге мы ставили компонент Samsung Certificate Extention. Запускаем Tools — Certificate Manager, и выбираем создание сертификата.
В этом окне выбираем «сертификат Samsung». Далее заполняем все поля, и подтверждаем вход в учетную запись Samsung для создания сертификата (слава богу, без валидации sms и указания учетных данных банковской карты).
Наконец, когда процесс завершен, нажимаем Run еще раз в Tizen Studio, и приложение запускается на часах, как и планировалось.
Возня с сертификатом и подключением занимает некоторое время, но делается это только один раз, дальше компиляция запуск программы осуществляется как обычно, простым нажатием Run.
Заключение
Нельзя сказать, что процесс полностью интуитивно понятен. Но особенно для тех, кто знаком с разработкой под iOS или Android, ничего критически сложного здесь нет, общая идея примерно такая же.
Вполне неплохая документация есть на тут, желающие могут изучить ее более подробно.
Интересно и то, что кроме часов есть другие устройства с ОС Tizen, например, телевизоры.
Всем интересующимся желаю удачных экспериментов.
Гид разработчика по умным часам
Умные часы (smartwatch) — компьютеризированные наручные часы, работающие в паре со смартфоном или обладающие самостоятельной функциональностью. Все современные умные часы так или иначе поддерживают работу с приложениями, но какие стоит выбрать для разработки? Мы предлагаем вам небольшой обзор четырех платформ, для которых вы можете разрабатывать приложения. Каждая со своими плюсами и минусами, каждая перспективна и потенциально может стать лидером рынка. Выбор за вами.
Apple Watch
| Официальный сайт: apple.com/ru/watch/ Операционная система: Watch OS Язык программирования: Objective-C/Swift SDK: WatchKit IDE: Xcode Обучающий курс: Udemy Пример разработки приложения: Хабр Магазин: Apple App Store Руководство по разработке: Apple Руководство по дизайну: Apple Доступные устройства: нетНаши материалы: |
Разработка для Apple Watch
Потенциально самые успешные часы, но пока в продажу не вышли. Ожидаются весной 2015 года, однако выход может быть отложен. Разработка под Apple Watch ведется в рамках единой парадигмы iOS-разработки, теми же инструментами, что и у «больших» приложений, так что проблем в переходе на часы быть не должно. Спрос на приложения ожидается большой, и выход на рынок в числе первых должен окупить все затраты на разработку.
Android Wear
| Официальный сайт: android.com/wear/ Операционная система: Android Wear Язык программирования: Java SDK: Android Wear IDE: Eclipse или Android Studio Обучающий курс: Lynda Пример разработки приложения: Хабр Магазин: Google Play Руководство по разработке: Google Руководство по дизайну: Google Доступные устройства: LG G Watch R, Moto 360, Sony SmartWatch 3 и другиеНаши материалы: |
Разработка для Android Wear
Потенциально самая массовая платформа, которая (пока) наследует многие проблемы начального Android. Разработка, как и в случае Apple Watch, идет в рамках общей Android-разработки и также проблем вызвать не должна. Основной вопрос платформы — создание конкурентоспособных и функциональных устройств. Выходя на Android Wear с приложениями, вы получите самую большую аудиторию, но вопрос работы с ней традиционно для Android будет заключаться в ее монетизации.
Pebble
| Официальный сайт: getpebble.com Операционная система: Pebble OS Язык программирования: C SDK: Pebble IDE: CloudPebble Обучающий курс: нет Пример разработки приложения: Хабр Магазин: Pebble AppStore Руководство по разработке: Pebble Руководство по дизайну: Pebble Доступные устройства: Pebble, Pebble SteelНаши материалы: |
Разработка для Pebble
На настоящий момент самая отлаженная и популярная платформа, решившая большую часть технологических проблем, но, по всей видимости, теряющая свои позиции. Монетизация приложений не очевидна. Разработка приложений для платформы актуальна, но если вы начинаете с нуля, то имеет смысл присмотреться к Android Wear или Apple Watch.
Samsung Gear
| Официальный сайт: samsung.com/us/mobile/wearable-tech Операционная система: Tizen Язык программирования: HTML5 или C SDK: Samsung IDE: Tizen IDE Обучающий курс: нет Пример разработки приложения: SlideShare Магазин: Samsung Apps Руководство по разработке: Samsung Руководство по дизайну: Samsung Доступные устройства: Gear S, Gear 2Наши материалы: |
Разработка для Samsung Gear
Платформа набирает обороты, но пока у нее не очень много доступных устройств. Samsung вкладывает огромные деньги в развитие и поддержку разработчиков, так что, если в ваших планах создание приложений для интернета вещей, Smart TV и Tizen,то начать стоит с часов.
Резюме
Если вы Android- или iOS-разработчик, присмотритесь к соответствующим платформам. Выпуск приложения для них будет стоить минимальных усилий, а результат в самом начале развития этих систем можно получить относительно большой. Если вы смотрите в сторону интернета вещей или просто HTML5 разработки – ваш выбор Tizen.
You must be logged in to post a comment Login
Leave a Reply
Для отправки комментария вам необходимо авторизоваться.
Разработка приложения для смарт-часов: ЭКГ и контроль стресса
Мониторинг здоровья через фитнес-трекеры и умные часы – одна из возможностей, которую дают технологии «интернета вещей» (IoT). Спрос на такие устройства в 2020 году вырос более чем на 50%, пользователям доступно все больше функций. О том, как мы в SimbirSoft помогли разработать приложение для смарт-часов, а также о том, как анализировать сердечный ритм и уровень стресса – рассказываем в статье.
Рынок носимых устройств в России стабильно растет на протяжении долгого времени. Крупные игроки отечественного ритейла фиксировали двукратное увеличение продаж фитнес-трекеров и смарт-часов в 2019 году. Тенденция сохранилась и в этом году вопреки пандемии. По данным розничной сети «Связной», с января по март в России продано более 1,4 млн устройств на общую сумму почти 8,7 млрд рублей. Это на 54% больше, чем годом ранее. Рост на 25% в штуках и на 30% в деньгах по итогам первого полугодия фиксирует и Группа «М.Видео-Эльдорадо».
Спрос на смарт-часы связан с популяризацией здорового образа жизни – с помощью носимых устройств можно отследить количество пройденных шагов и потраченных калорий, фиксировать время и качество сна, измерять артериальное давление. Контролируя ключевые параметры, пользователи хотят улучшить свою физическую форму или скорректировать сон, чтобы повысить продуктивность и следить за уровнем стресса.
Смарт-часы и фитнес-браслеты, как правило, не ограничиваются тем, что измеряют пульс владельца и количество пройденных им шагов. IoT-устройства могут выступать в роли «виртуального тренера» и помогают пользователям поддерживать себя в форме, даже не посещая спортзал. На основе данных о физической активности приложение может рекомендовать индивидуальную программу тренировок.
Насколько точными будут рекомендации? Ответ на этот вопрос зависит и от количества измеряемых показателей, и от качества мониторинга. Для получения полных и точных данных у каждого производителя есть свои технологии. Например, датчик электрокардиографии (также известный как «модуль ЭКГ») для анализа сердечного ритма.
Рассмотрим пример – приложение для смарт-часов, в создании которого приняла участие команда SimbirSoft.
Один из ведущих мировых производителей смарт-часов и фитнес-браслетов обратился к нам для создания с нуля нового раздела приложения. В этом проекте мы тесно сотрудничали с командами из Китая, Украины и Беларуси, следуя единой дорожной карте, чтобы сделать процессы разработки быстрее и прозрачнее.
Что можно узнать в приложении:
Сколько вы прошли шагов за день и потратили калорий. Также можно ставить перед собой цели и отслеживать их выполнение в процентах.
При занятиях спортом зачастую нужно контролировать сердечную активность – чтобы понять, можно ли увеличить нагрузку или, наоборот, пора отдохнуть. Датчики в смарт-часах отслеживают несколько показателей: частоту сердечных сокращений, вариативность сердечного ритма (HRV). Приложение также контролирует уровень стресса, энергии, продуктивности пользователя в конкретный момент.
отслеживать данные о кардио- и силовых нагрузках;
оценивать свое психоэмоциональное состояние;
Анализируя полученные данные, приложение помогает планировать физическую нагрузку с виртуальным тренером. При этом можно посмотреть свои результаты занятий и составить программу дальнейших тренировок.
В приложении настроено хранение данных в облаке. В первую очередь, это позволяет не перегружать смартфон пользователя. Во-вторых – информацию можно при необходимости быстро экспортировать на другой носитель.
Концепт разделов в приложениях для мониторинга физической и сердечной активности
«Смарт-часы и фитнес-браслеты прочно вошли в повседневную жизнь. Уже сегодня они помогают человеку контролировать не только время, но и параметры здоровья. Пока это количество пройденных шагов, пульс и ЭКГ. Полноценно заменить доктора IoT-устройства еще не могут. Однако, в их силах – указать пользователю на какие-либо изменения в организме, чтобы помочь ему вовремя обратиться за квалифицированной помощью. Такие приложения помогают пользователям сохранять данные о здоровье, а также предлагают полезные советы для улучшения физической формы».