Страницы

Поиск по вопросам

суббота, 9 марта 2019 г.

Android Wear простой пример обмена данными со смартфоном

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


Ответ

Посмотрите тут и тут #1 Отправка сообщения из активити на часах @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.my_activity); initApi(); }
//Конектимся к API private void initApi() { client = getGoogleApiClient(this); retrieveDeviceNode(); client.connect(); }
/** * Returns a GoogleApiClient that can access the Wear API. * * @param context * @return A GoogleApiClient that can make calls to the Wear API */ private GoogleApiClient getGoogleApiClient(Context context) { return new GoogleApiClient.Builder(context) .addApi(Wearable.API) .build(); }
/** * Connects to the GoogleApiClient and retrieves the connected device's Node ID. If there are * multiple connected devices, the first Node ID is returned. */ private void retrieveDeviceNode() { new Thread(new Runnable() { @Override public void run() { client.blockingConnect(CONNECTION_TIME_OUT_MS, TimeUnit.MILLISECONDS); NodeApi.GetConnectedNodesResult result = Wearable.NodeApi.getConnectedNodes(client).await(); List nodes = result.getNodes(); if (nodes.size() > 0) { nodeId = nodes.get(0).getId(); } client.disconnect(); } }).start(); }
/** * Отправляем "сообщение" к подключенному телефону, передаем параметр yourData (какие то ваши данные), или null вместо него. */ private void sendMessageToMobile() { if (nodeId != null) { new Thread(new Runnable() { @Override public void run() { client.blockingConnect(CONNECTION_TIME_OUT_MS, TimeUnit.MILLISECONDS); Wearable.MessageApi.sendMessage(client, nodeId, MESSAGE, new byte[]{yourData}); client.disconnect(); } }).start(); } } #2 Принимаем "сообщение" на телефоне public class ListenerService extends WearableListenerService {
@Override public void onMessageReceived(MessageEvent messageEvent) {
//Ваши действия
} В манифесте: А так же в манифесте wear модуля нужно добавить гугл плей сервис

Комментариев нет:

Отправить комментарий