wear что за приложение

Она вам не Android. Особенности разработки под Wear OS

image loader

18 марта Google переименовала операционную систему для носимой электроники Android Wear и начала распространять её под именем Wear OS, чтобы привлечь новую аудиторию. Компания опубликовала новые дизайн-гайдлайны и обновила документацию. Когда я начал разработку приложения для часов, не нашел ни одной русскоязычной публикации на эту тему. Поэтому хочу поделиться своим опытом и рассказать подробнее про Wear OS, из чего она состоит и как с ней работать. Всех небезразличных к мобильным технологиям прошу под кат.

Начиная с версии Android Wear 2.0, система научилась работать с «Standalone Apps» – полностью независимыми wearable-приложениями. Пользователь может установить их с нативного Google Play прямо на часы. Wear OS – это практически независимая система, которая всё ещё продолжает работать в рамках инфраструктуры Google Services, дополняя её, но не привязываясь к ней.

Android, но не очень

Как бы Google ни позиционировала Wear OS, платформа основана на Android со всеми его особенностями, прелестями и недостатками. Поэтому, если вы уже знакомы с Android-разработкой, то сложностей с Wear OS возникнуть не должно. Wear OS почти не отличается от своего «старшего брата», за исключением отсутствия некоторых пакетов:

Да, браузер на часах мы в ближайшее время не сможем увидеть из-за отсутствия Webkit. Но серфить на часах будет всё равно неудобно. У нас по-прежнему есть великий и ужасный Android Framework с Support Library и Google Services. Структурных и архитектурных отличий тоже будет мало.

Структура приложения

Предположим, мы решили сделать wearable-приложение. Открыли Android Studio, нажали «New project» и поставили галочку напротив «Wear». Мы сразу обнаружим, что в пакете нашего приложения появилось два модуля: wear и mobile.

image loader

Clean architecture?

А почему бы и нет? Это такое же Android-приложение, поэтому архитектурные подходы для него могут быть схожие с Android.

image loader

Я использовал такой же стек технологий, который мы используем в Android-приложениях:

У нас два модуля в проекте, и модели данных, скорее всего, будут одинаковые для обеих платформ. Поэтому часть логики и моделей можно вынести в ещё один модуль «common». Затем подключить его к mobile и wearable пакетам, чтобы не дублировать код.

Одна из главных особенностей Android-разработки – обилие девайсов разного размера и с разным разрешением экрана. В Wear OS, ещё и разная форма экрана: круглый, квадратный и круглый с обрезанным краем.
Если мы попробуем сверстать какой-либо лейаут и отобразить его на разных экранах, скорее всего, увидим примерно такой вот кошмар:

image loader

Во второй версии системы Google любезно решила часть UI-проблем, включив в Support wearable library новые адаптивные view-компоненты. Пробежимся по самым любопытным из них.

BoxInsetLayout

BoxInsetLayout – это FrameLayout, который умеет адаптировать дочерние элементы под круглый дисплей. Он помещает их в прямоугольную область, вписанную в окружность экрана. Для квадратных дисплеев подобные преобразования, само собой, игнорируются.

image loader

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

image loader

Выглядит лучше, не правда ли?

WearableRecyclerView

Списки – удобный паттерн, который активно используется в мобильном (и не только) UX. Wear-интерфейсы исключением не стали. Но из-за закругления углов дисплея верхние View у списка могут обрезаться. WearableRecyclerView помогает исправить такие недоразумения.
Например, есть параметр isEdgeItemsCenteringEnabled, который позволяет задать компоновку элементов по изгибу экрана и расширять центральный элемент, делает список более удобным для чтения на маленьком экране.
Есть WearableLinearLayoutManager, который позволяет прокручивать список механическим колесиком на часах и доскроливать крайние элементы до середины экрана, что очень удобно на круглых интерфейсах.

image loader

Сейчас библиотека поддержки Wear включает пару десятков адаптивных View. Они все разные, и обо всех можно подробно почитать в документации.

Рисовать данные на экране – весело, но эти данные нужно откуда-то получать. В случае мобильного клиента, мы чаще используем REST API поверх привычных всем сетевых протоколов (HTTP/TCP). В Wear OS подобный подход тоже допустим, но Google его не рекомендует.
В носимой электронике большую роль играет энергоэффективность. А активное интернет-соединение будет быстро сажать батарею, и могут регулярно происходить разрывы связи. Ещё носимые устройства предполагают активную синхронизацию, которую тоже нужно реализовывать.
Все эти проблемы за нас любезно решает механизм обмена данными в Google Services под названием «Data Layer». Классы для работы с ним нашли свое место в пакете com.google.android.gms.wearable.

Data Layer

Data Layer помогает синхронизировать данные между всеми носимыми устройствами, привязанными к одному Google аккаунта пользователя. Он выбирает наиболее оптимальный маршрут для обмена данными (bluetooth, network) и реализует стабильную передачу. Это гарантирует, что сообщение дойдет до нужного девайса.

image loader

Data Layer состоит из пяти основных элементов:

Data Item

Data Item – компонент, который предназначен для синхронизации небольших объемов данных между устройствами в wearable-инфраструктуре. Работать с ними можно через Data Client. Вся синхронизация реализуется через Google сервисы.

DataItem состоит из трёх частей:

Давайте попробуем создать и сохранить DataItem. Для этого воспользуемся PutDataRequest, которому передадим все нужные параметры. Затем PutDataRequest скормим DataClient’у в метод putDataItem().

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

Теперь наш DataItem хранится в DataClient’е, и мы можем получить к нему доступ со всех Wearable-девайсов.
Теперь мы можем забрать у DataClient список всех Item’ов, найти тот, который нас интересует, и распарсить его:

Assets

А теперь давайте представим, что нам внезапно потребовалось отправить на часы фотографию, аудио или еще какой-то файл. DataItem с такой нагрузкой не справится, потому как предназначен для быстрой синхронизации, а вот Asset может. Механизм синхронизации ассетов предназначен для сохранения файлов размером более 100kb в wearable-инфраструктуре и плотно связан с DataClient’ом.
Как упоминалось ранее, DataItem может иметь ссылку на Asset, но сами данные сохраняются отдельно. Возможен сценарий, когда Item сохранился быстрее Asset, а файл всё еще продолжает загружаться.

Создать Asset можно с помощью Asset.createFrom[Uri/Bytes/Ref/Fd], после чего передать его в DataItem:

Чтобы загрузить Asset на другой стороне, нужно открыть inputStream, получить сам массив байт, а затем представить его в нужной нам форме:

Capabilities

Сеть носимых девайсов может быть гораздо шире, чем два устройства, соединенные по Bluetooth, и включать в себя десятки девайсов. Представим ситуацию, когда нужно отправить сообщение не на все устройства, а на какие-то конкретные часы. Нужен способ для идентификации устройств в этой сети. Способ есть – это механизм Capabilities. Смысл его очень прост – любой девайс-участник сети с помощью CapabilitiesClient может узнать, какое множество узлов поддерживает ту или иную функцию, и отправить сообщение именно на один из этих узлов.
Для того чтобы добавить Capabilities в наше wearable-приложение, нужно создать файл res/values/wear.xml и записать туда массив строк, которые и будут обозначать наши Capabilities. Звучит довольно просто. На практике тоже ничего сложного:

wear.xml:

На стороне другого устройства:

Если у вас, как и у меня, развился Rx головного мозга, то от себя порекомендую расширение для объекта Task. Этот объект довольно часто фигурирует во фреймворках от Google (в т.ч. Firebase):

Тогда цепочка для получения Nodes будет выглядеть красивее:

Messages

Все предыдущие компоненты Data Layer предполагали кэширование данных. Message помогает отправлять сообщения без синхронизации в формате «отправили и заб(ы|и)ли». Причем отправить сообщение можно только на конкретный узел или на конкретное множество узлов, которые предварительно необходимо получить через CapabilitiesClient:

Потенциальный получатель сообщения, в свою очередь, должен подписаться на получение сообщений, и найти нужное по его URI:

Channels

Каналы служат для передачи потоковых данных в режиме реального времени без кэширования. Например, если нам нужно отправить голосовое сообщение с часов на телефон, то каналы будут очень удобным инструментом. Клиент для каналов можно получить через Wearable.getChannelClient(), и дальше открыть входной или выходной поток данных (один канал может работать в обе стороны).

Google активно развивает Data Layer, и вполне вероятно, что через полгода эти клиенты снова куда-то «переедут», или их API снова поменяется.
Разумеется, Data Layer – не единственный способ общения с внешним миром, никто не запретит нам по-старинке открыть tcp-socket и разрядить устройство пользователя.

image loader

В заключение

Это был всего лишь краткий обзор актульных технических возможностей платформы. Wear OS быстро развивается. Устройств становится больше, и возможно, скоро это будут не только часы. Support Wearable Library тоже не стоит на месте и меняется вместе с платформой, радуя нас новыми UI-компонентами и чудесами синхронизации.
Как и у любой другой системы, тут есть свои тонкости и интересные моменты, о которых можно говорить долго. Многие детали остались раскрыты не полностью, поэтому пишите в комментариях, о чем хочется поговорить подробнее, и мы расскажем об этом в следующей статье. Делитесь своим опытом wearable-разработки в комментариях.

Источник

Android Wear: как это работает и чего ждать

wear use

Сама по себе идея смарт-часов — уже далеко не новость даже с практической стороны: тут вам и великолепные Pebble, и недавно обновлённые Gear от Samsung, и другие решения. Но недавно в данном сегменте рынка произошло событие если не эпохальное, то как минимум знаковое: Google «выкатила» вариацию своей мобильной ОС — Android Wear — созданную специально под «носимые аксессуары». Мало того: в тот же день свои решения под Wear анонсировали LG и Motorola. Вкратце мы об этом уже писали, а сейчас попробуем внимательнее взглянуть на новую версию знакомой операционки.

Само собой разумеется, что мобильная ОС для смарт-часов должна отличаться (причём довольно значительно) от системы для смартфонов — оригинальный форм-фактор диктует свою специфику. В общих чертах рекламные материалы по Wear описывают эту специфику следующим образом:

Компактные и мощные устройства, носимые на теле. Полезная информация именно тогда, когда она нужна. Умные ответы на заданные вопросы. Инструменты для фитнесса. Ваш ключ к «многоэкранному миру».

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

Для тех, у кого нет времени или желания смотреть ролик целиком, выделю один ключевой момент, озвученный дизайнером Алексом Фааборгом (Alex Faaborg). По его словам, для новой операционной системы был создан принципиально новый пользовательский интерфейс, главным требованием к которому было сочетание простоты, скорости и удобства. Этого удалось добиться за счёт того, что работа системы, по сути, ограничивается всего двумя ключевыми моментами: выводом наиболее актуальной для текущих условий информации и поддержкой голосового управления.

Более подробно эта особенность раскрывается в полной версии анонса для разработчиков. Документ подчёркивает, что все приложения должны вписываться в набор из двух базовых функций, названных «Предложение» (Suggest) и «Спрос» (Demand).

Режим Suggest описывается как «поток контекстных данных». Он построен по принципу «одно сообщение за раз» и представляет собой набор «карточек» с важной в целом или значимой на данный момент информацией. Прокручивая сообщения в вертикальном направлении, пользователь может переключаться между карточками, а перемещения по горизонтали открывают дополнительные возможности. Предусмотрено и удаление ненужных карточек — «до тех пор, пока в них не появится новая полезная информация».

Выглядит всё это приблизительно вот так:

suggest

Режим Demand предназначен для случаев, когда «контекстный поток» не может предсказать, что именно требуется пользователю в данный момент. Он активируется традиционной фразой «OK, Google» или тапаньем по значку «g» на домашнем экране. После этого можно отдать устройству голосовую команду или воспользоваться списком действий с открывшейся «карточки подсказки»:

demand

Как мы видим, выбор из списка осуществляется классическим тапаньем. Что же касается голосовых команд, то в Google обещают SDK под Wear, который даст и сторонним разработчикам полноценный доступ к этому виду управления. При этом даже допускается возможность использования одной фразы несколькими приложениями — пользователь сам сможет выбрать желаемого «исполнителя».

Раз уж мы вспомнили SDK, нельзя не отметить одно интересное событие. Сама Google пока предлагает лишь предварительную версию комплекта разработчика — она позволяет редактировать уведомления от уже существующих Android-программ, а также оценивать, как эти сообщения будут выглядеть на условном экране смарт-часов. Полноценный комплект ожидается «позже в этом году». В то же время создатели приложения Pocket, предназначенного для сохранения интересных материалов «на потом», уже представили своё программное решение для Wear. Что примечательно, речь идёт не об отдельном приложении, а именно об SDK, который позволит всем желающим встраивать в свои творения отдельные функции оригинального Pocket.

Возвращаясь к интерфейсу, стоит сказать, что Google выработала довольно чёткое и своеобразное видение по поводу user experience на носимых устройствах. Это видение включает в себя 4 основных принципа:

Оперативность и самостоятельность. В данном случае эти два понятия тесно связаны: гаджет с Android Wear не столько реагирует на команды пользователя, сколько сам следит за окружающей обстановкой и выводит уведомления «на своё усмотрение», в нужном месте и в наилучшее время. Необходимые данные система может получать с самых разнообразных сенсоров, начиная от акселерометра и заканчивая фитнесс-датчиками.

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

Читабельность. Экран носимых устройств невелик, а пользоваться ими приходится постоянно. Поэтому все уведомления должны быть максимально лаконичными, информативными и удобными для восприятия. (Кстати, эту особенность неплохо видно на приведённой выше иллюстрации к режиму Suggest: даже фон, на котором располагаются карточки, подбирается под ту или иную текстовую информацию).

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

Именно на эти принципы и советуют ориентироваться разработчикам сторонних приложений под Android Wear.

Итак, что же мы имеем в итоге? Несмотря на то, что смарт-часы с Android Wear явно не рассчитаны на роль самостоятельных гаджетов, Google замахнулась на нечто ощутимо большее, чем простой наручный экран для уведомлений с набором внешних датчиков. И лично по моему скромному мнению, это «большее» получилось достаточно самобытным и в хорошем смысле двойственным. С одной стороны, Android Wear предлагает обширные возможности для дополнительных приложений, с другой — предусматривает для них чёткие рамки, вполне соответствующие особенностям смарт-часов как отдельного класса гаджетов. Не стану однозначно предсказывать новинке коммерческий успех, однако повод для беспокойства у конкурентов определённо имеется. И как знать: возможно, благодаря Android Wear мы увидим долгожданные iWatch от Apple хотя бы на пару недельраньше, чем изначально предполагалось.

Похожие статьи

google search personal

Поиск Google научили искать информацию в личных данных пользователя

essential

Создатель Android представил смартфон Essential Phone

android o features

Каким будет Android O и стоит ли продавать свой iPhone

ikea smart lighting 2017 11

Дешевле некуда. IKEA начала продавать лампочки, совместимые с Apple HomeKit

google jamboard

google i o 17 new

10 главных анонсов конференции разработчиков Google I/O

Честно говоря, очень странно, что не показали ничего про столь модный нынче ЗОЖ.
Самое главное теперь — дождаться первых живых часов (июнь), а вместе с ними — информации о времени автономной работы и возможности взаимодействия с iOS. Особенно было бы интересно увидеть способ зарядки этих штук. Надеюсь, что Motorola и LG не будут изобретать велосипед, а просто реализуют Qi

Ну, в первом видео отчасти показали — забег на посадку в самолёт и полсотни сожжённых в процессе калорий :) Хотя в самом деле могли бы и полнее раскрыть тему.

Насчёт зарядки — встречал инфу, что у Моторолы вообще не планируется внешних портов. Так что Qi выглядит вполне вероятно.

Источник

Что такое Wear ОS и как его использовать

Wear OS — операционная система, предназначенная для носимых устройств, таких как умные часы. Как ее использовать и какие функции у нее есть обо всем об этом наша сегодняшняя обзорная статья

Что такое Wear OS?

На каких устройствах я могу его найти?

word image 175

Многие производители используют эту систему в своих продуктах. Среди них следует выделить строго технологичные бренды, такие как Motorola, Huawei, Asus или LG, и производители часов, такие как Fossil или Casio. Стоит отметить, что система выглядит очень похожей среди продуктов всех брендов. Различия связаны с самой версией Android Wear, функциональностью самих часов и надстройками производителя.

Внешний вид интерфейса и функции представлены на примере Moto 360 Sport. На других моделях внешний вид и функциональность интерфейса могут отличаться.

Смена циферблатов и их редактирование

word image 176

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

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

Луч с аббревиатурами

word image 177

Перетаскивая палец сверху вниз на циферблате, мы видим полосу с аббревиатурами. Среди них можно выделить: режим полета, режим кинотеатра (выключение экрана), режим «Не беспокоить», ярлык настроек и информацию о проценте заряда устройства и текущей дате.

Уведомления

Потянув снизу вверх, наши глаза увидят уведомления. Когда телефон подключен к часам, именно здесь мы сможем читать уведомления с нашего телефона. Чтобы удалить уведомление, просто перетащите его вправо или влево. Если у нас есть несколько уведомлений, и мы хотим удалить их все, нам просто нужно спуститься в конец списка уведомлений и нажать «Очистить все».

word image 178

Кнопка на корпусе и ее функциональность

«Вернуться к циферблату можно, проводя справа налево»

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

word image 179

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

В заключении

Android Wear версии 2.0 — намного лучшая система, чем ее предыдущие версии, и, прежде всего, она более интуитивно понятна для пользователя.

Источник

Обзор операционной системы Android Wear

551

122

Начало пользования

Настройка любых новых умных часов на Android Wear потрясающе проста, и вам даже не потребуются специальные руководства. После загрузки приложения Android Wear на ваш смартфон нужно просто включить Bluetooth и пройти процесс сопряжения, следуя интуитивно понятной инструкции. В процессе настройки не возникает ни одного вопроса или момента, который был бы неясен – так что честь и хвала Google, в этом плане они были максимально ориентированы на пользователя.

211

Стоит отметить, что устройства на Android Wear непривередливы к среде обитания – вам потребуется только телефон на базе Android версии 4.3 (Jelly Bean) или выше, а также наличие Bluetooth: думаем, в 2015 году это не является проблемой.

Как уже говорилось выше, Android Wear – это плод деятельности Google. В отличие от Android на смартфонах, где производители зачастую используют свои собственные пользовательские интерфейсы, на умных часах с Android Wear вы обнаружите идентичное оформление, вне зависимости от выбранной модели устройства.

Конечно, такие часы, как Moto 360 и LG G Watch R могут похвастаться круглыми дисплеями, посему интерфейс может незначительно отличаться от тех же Sony SmartWatch 3 или Asus ZenWatch, но суть остается той же. Этот подход означает, что обновления выходят для всех устройств одновременно, независимо от производителя.

Отображение времени

Android Wear сосредоточена вокруг нескольких ключевых областей, основными можно считать отображение времени и уведомлений.

37

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

Отображение уведомлений

Возможности отображения уведомлений весьма гибкие, Android Wear позволяет принимать следующие:

45

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

Google Now

На экране умных часов также отображаются интуитивные уведомления от Google Now и Google Knowledge Graph. Порой они очень актуальны и полезны (к примеру, отображается погода на неделю вперед, пробки, результаты матча любимой команды), но любая система неидеальна, так что иногда приходится «наслаждаться» и лишними уведомлениями, которые вам абсолютно неинтересны.

65

Пользовательский интерфейс и управление

Вместе с последним обновлением, появившимся одновременно с выходом смарт часов LG Watch Urbane в апреле 2015 года, навигация и использование стали на порядок удобней и понятней, чем с ПО Android Wear первого поколения.

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

81

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

Голосовое управление

Значительную часть манипуляций со смарт часами можно выполнять посредством «OK Google» и дополнительных слов-инструкций. В плане распознавания голоса это работает потрясающе точно, но здесь есть проблема социального плана – разговор с часами выглядит как минимум странно.

Приложения для Android Wear

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

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

73

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

Wi-Fi на Android Wear

Поддержка Wi-Fi была добавлена в Android Wear совсем недавно, несмотря на то, что даже самые ранние модели смарт часов были оснащены необходимым оборудованием.

91

Наличие Wi-Fi означает, что вам не придется полагаться на не всегда стабильный Bluetooth для сопряжения со смартфоном.

Итоги

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

Источник

Понравилась статья? Поделить с друзьями:
Добавить комментарий
  • Как сделать успешный бизнес на ритуальных услугах
  • Выездной кейтеринг в России
  • Риски бизнеса: без чего не обойтись на пути к успеху
  • wear формы неправильного глагола
  • wear приложение на самсунг