2016-06-19 3 views
0

У меня есть приложение для просмотра часов, где пользователь может изменять цвета элементов экрана. Они хранятся в localstorage, поэтому для инициализации, когда активируется лицо часов, требуется немного времени. Я хотел бы сохранить эти три GColors на сам Pebble, поэтому они применяются мгновенно и без проверки локального телефона. Может ли кто-нибудь дать мне пример того, как это делается легко?Persist GColors on Pebble

В соответствии с API хранения данных Pebble значения могут быть сохранены как логические, целочисленные, строковые или произвольные типы данных. Я совершенно не уверен, как читать и записывать эти три GColors в память Pebbles, поскольку я использую Cloudpebble и Clay для обработки медленных, но работающих настроек.

ответ

1

Получите немного помощи по reddit/r/pebbledeveloper и u/please_press_start.

При передаче значения из Clay через Appmessage в функции inbox_received_callback я делаю это, чтобы записать значение цвета в PERSISTCORNER, которое # определено в верхней части main.c (цвет выбирается из стандартного набора цветов в Clay сопоставляется с MESSAGE_KEY_COLOUR):

Tuple *colour_t = dict_find(iterator, MESSAGE_KEY_COLOUR); 
    if(colour_t) { 
    // colour is a GColor 
    colour = GColorFromHEX(colour_t->value->int32); 
    //write to persistent storage 
    int corner_colour_HEX = colour_t->value->int32; 
    persist_write_int(PERSISTCORNER, corner_colour_HEX); 
    } 

применяют настройки цвета в инициализации()

if (persist_exists(PERSISTCORNER)) { 
    int persistcorner = persist_read_int(PERSISTCORNER); 
    backgroundColour = GColorFromHEX(persistbg); 
} 
Смежные вопросы