2016-06-19 6 views
0

저는 사용자가 화면의 요소 색상을 변경할 수있는 시계면 앱을 보유하고 있습니다. 이들은 localstorage에 저장되므로 시계 모드가 활성화 될 때 초기화하는 데 약간의 시간이 걸립니다. 나는이 세 GColors를 Pebble 자체에 저장하고 싶기 때문에 즉시 적용되며 전화의 로컬 저장소를 확인하지 않습니다. 누구나 쉽게이 일을 어떻게 처리 할 수 ​​있는지 보여 줄 수 있습니까?페블에서 GColors를 유지하십시오.

Pebble의 Storage API에 따르면 값은 부울, 정수, 문자열 또는 임의의 데이터 구조 유형으로 저장할 수 있습니다. Cloudpebble과 Clay를 사용하여 느리고 작동하는 설정을 처리 할 때 세 가지 GColors를 읽고 자갈 메모리에 쓰는 방법을 확실히 알 수 없습니다.

답변

1

reddit/r/pebbledeveloper 및 u/please_press_start에 대한 도움이 조금 있습니다.

Clay에서 Appmessage를 통해 값을 전달할 때 inbox_received_callback 함수에서이 값을 사용하여 main.c의 맨 위에 # 정의 된 PERSISTCORNER에 색상 값을 씁니다 (색상은 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); 
}