|
|
@@ -1,10 +1,7 @@
|
|
|
-<table style="width: 100%;"><tr><td style="width: 40%;">
|
|
|
-<a href="../articles/map_yandex.md">Работа с картами
|
|
|
-</a></td><td style="width: 20%;">
|
|
|
-<a href="../readme.md">Содержание
|
|
|
-</a></td><td style="width: 40%;">
|
|
|
-<a href="../articles/android_tv.md">Android TV
|
|
|
-</a></td><tr></table>
|
|
|
+Предыдущая лекция | | Следующая лекция
|
|
|
+:----------------:|:----------:|:----------------:
|
|
|
+[Проект "каршеринг" Часть 3. Работа с Яндекс картами](./map_yandex.md) | [Содержание](../readme.md#практика-разработка-мобильных-приложений) | [Android TV](./android_tv.md)
|
|
|
+
|
|
|
|
|
|
# Wear OS
|
|
|
|
|
|
@@ -14,19 +11,19 @@
|
|
|
|
|
|
1. Установите эмулятор для часов (**будьте внимательны, не установите китайскую версию**)
|
|
|
|
|
|
-
|
|
|
+ 
|
|
|
|
|
|
-
|
|
|
+ 
|
|
|
|
|
|
-
|
|
|
+ 
|
|
|
|
|
|
-
|
|
|
+ 
|
|
|
|
|
|
2. Создайте проект:
|
|
|
|
|
|
-
|
|
|
+ 
|
|
|
|
|
|
-## Проект "база"
|
|
|
+## Продолжение проекта "каршеринг"
|
|
|
|
|
|
Для часов корневым элементом разметки является **BoxInsetLayout** (начиная со 2-й версии).
|
|
|
|
|
|
@@ -38,28 +35,15 @@
|
|
|
|
|
|
1. Заставку пропущу, но тут вы и сами должны справиться
|
|
|
|
|
|
-2. Экран авторизации (поля ввода и кнопки Login/Logout) рисуем прямо на экране **activity** (тут нет смысла в диалоге, экран слишком мелкий)
|
|
|
+2. Экран авторизации (поля ввода и кнопки Login/Logout) рисуем прямо на экране **activity**
|
|
|
|
|
|
Тут тоже сделайте сами. Отмечу только, что **activity** создается в меню ***New -> Wear -> Blank activity***
|
|
|
|
|
|
3. HTTP-запросы тоже рабтают как обычно - реализуйте login/logout по аналогии с прошлым заданием.
|
|
|
|
|
|
-4. В **КОД**-е было что-то написано про обсуждение фильмов. То-ли форум, то-ли чат... Сделаем чат:
|
|
|
-
|
|
|
- API я доработал:
|
|
|
-
|
|
|
- ```
|
|
|
- ### отправка сообщения в чат
|
|
|
- POST {{url}}/chat
|
|
|
- Content-Type: application/json
|
|
|
- Token: {{token}}
|
|
|
-
|
|
|
- {"message":"test"}
|
|
|
+4. Научимся выводить список (на примере автомобилей):
|
|
|
|
|
|
- ### получение сообщений
|
|
|
- GET {{url}}/chat
|
|
|
- Token: {{token}}
|
|
|
- ```
|
|
|
+ Для запроса списка автомобилей используется метод `GET /cars`
|
|
|
|
|
|
Для отображения списка есть свой элемент - **androidx.wear.widget.WearableRecyclerView** (позволяет прокручивать список механическим колесиком на часах и доскроливать крайние элементы до середины экрана, что очень удобно на круглых интерфейсах).
|
|
|
|
|
|
@@ -79,21 +63,6 @@
|
|
|
wrc.adapter = MyAdapter(chatList)
|
|
|
```
|
|
|
|
|
|
- Для периодического обновления сообщений в чате получение списка заверните в таймер:
|
|
|
-
|
|
|
- ```kt
|
|
|
- timer(period = 5000L, startAt = Date()){
|
|
|
- // тут вызвать GET /chat
|
|
|
- }
|
|
|
- ```
|
|
|
-
|
|
|
- Должно получиться что-то подобное (слева входящие сообщения с отправителем, справа ваши)
|
|
|
-
|
|
|
- 
|
|
|
-
|
|
|
- Соответственно нужно добавить на экран EditText и кнопку отправить (в одной строке)
|
|
|
-
|
|
|
-
|
|
|
>Google не рекомендует пользоваться HTTP-запросами в приложении часов.
|
|
|
В носимой электронике большую роль играет энергоэффективность. А активное интернет-соединение будет быстро сажать батарею, и могут регулярно происходить разрывы связи. Ещё носимые устройства предполагают активную синхронизацию, которую тоже нужно реализовывать.
|
|
|
Все эти проблемы за нас любезно решает механизм обмена данными в Google Services под названием **«Data Layer»**.
|
|
|
@@ -108,14 +77,11 @@
|
|
|
|
|
|
Разработать приложение для **Wear OS** c несколькими экранами:
|
|
|
|
|
|
-* заставка
|
|
|
+* заставка (отдельной активностью)
|
|
|
* авторизация
|
|
|
-* чат (приём и отправка сообщений)
|
|
|
-
|
|
|
-<table style="width: 100%;"><tr><td style="width: 40%;">
|
|
|
-<a href="../articles/map_yandex.md">Работа с картами
|
|
|
-</a></td><td style="width: 20%;">
|
|
|
-<a href="../readme.md">Содержание
|
|
|
-</a></td><td style="width: 40%;">
|
|
|
-<a href="../articles/android_tv.md">Android TV
|
|
|
-</a></td><tr></table>
|
|
|
+* список автомобилей (обязательно отобразить фотографию)
|
|
|
+
|
|
|
+Предыдущая лекция | | Следующая лекция
|
|
|
+:----------------:|:----------:|:----------------:
|
|
|
+[Проект "каршеринг" Часть 3. Работа с Яндекс картами](./map_yandex.md) | [Содержание](../readme.md#практика-разработка-мобильных-приложений) | [Android TV](./android_tv.md)
|
|
|
+
|