pebblekit js отправляет массив в pebble C с помощью appmessage

Я пытаюсь написать свое первое приложение Pebble C, которое основано на приложении pebble.js, которое я создал. Я в основном показываю расписание автобусов.

Мой вопрос, как я могу передать информацию из pebblekit js в pebble C с помощью appmessage, чтобы я мог создать меню? как я могу передать массив многомерных измерений appmessage на часы?

Вот пример json, который мой pebblekit js должен отправить на часы:

{  
    "buses":[
        {  
         "bus_number":"55",
         "stops":[  
            {  
                 "stop_id":"109698",
                 "stop_times":[  
                    {  
                       "arrival_time":"21:22:25",
                       "departure_time":"21:22:25"
                    },
                    {  
                       "arrival_time":"21:52:25",
                       "departure_time":"21:52:25"
                    },
                    ...
                 ]
            },
            ...
       }
   }

1 ответ

Решение

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

  1. Добавьте библиотеку MessageQueue в свой проект. Эта библиотека отлично подходит для одновременной отправки большого количества данных или множества различных фрагментов.

  2. Создать sendArray функция, которая просто перебирает каждый из объектов в массиве и отправляет их Pebble с MessageQueue.sendAppMessage()

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

    3.1. Вставьте все эти данные, которые вы только что получили на стороне C от DictionaryIterator в какой-то struct который вы создали для представления элемента массива.

    3.2. После обработки всех этих данных вставьте обновленные struct в массив.

Ведение подсчета стека для этого массива также является хорошей идеей.

Дайте мне знать, если вам понадобится дополнительная помощь или я смогу объяснить что-нибудь получше.

Другие вопросы по тегам