2015-01-19 2 views
0

Мне хотелось бы получить информацию на высоком уровне о том, как я приближаюсь к часовому лицу, которое я создаю как учебный инструмент. Это довольно просто - захватывать трендовые темы из Twitter один раз в час и показывать их на часах. В принципе, мой поток выглядит следующим образом:Обновления по расписанию на Android Wear

  1. У меня есть AlarmManager на спаренном телефоне, что опрашивает Twitter API и тянет вниз свежие данные, установленные в огонь BroadcastReceiver
  2. При вызове, то BroadcastReceiver использует уровень данных API для отправки односторонний сообщения с к носимому, содержащему данные, загруженные
  3. После получения, носимое приложение сохраняет входящие данные в SharedPreferences как постоянное хранилище данных и перерисовывает темы на циферблат из SharedPreferences

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

Я думаю, что в качестве альтернативы я мог бы сохранить данные Twitter в SharedPreferences в приложении для телефона, а затем использовать более элегантную функцию синхронизации API данных Layer между телефоном и часами, которая срабатывает, когда лицо часов становится видимым. Или, запустив вещи на носки через Lollipop JobScheduler API.

Кто-нибудь видит какие-либо вопиющие области, которые я мог бы разработать лучше? Спасибо!

ответ

1

Имейте в виду, что Data API. уже дает вам настойчивость, поэтому вам не нужно привлекать SharedPreferences. Как вы должны это сделать, это использовать только Data API. Ваш телефон является производителем элементов данных, а носителем является потребитель, который отображает информацию, основанную на том, что он получает в элементах данных.

Как это работает как это:

  1. ваш телефон получает тенденции в Twitter;
  2. он проходит через существующие элементы данных, удаляет старые и новые;
  3. Сторона часов в конечном итоге получает обновления об элементах данных; он начинает показывать данные из новых и останавливает показ данных из удаленных;

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

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

+0

Спасибо за подсказку @gruszczy! :) – user2302078

+1

Удачи вам в вашем циферблате :) – gruszczy

+0

На самом деле @gruszczy, я надеялся, что вы включите что-то, с чем я столкнулся, если у вас есть время: http://stackoverflow.com/questions/28058284/using-data -api-изменения-в-обновления-часы-лицо-щ – user2302078

Смежные вопросы