【问题标题】:Persist GColors on Pebble在 Pebble 上保持 GColors
【发布时间】:2016-10-21 02:35:06
【问题描述】:

我有一个表盘应用程序,用户可以在其中更改屏幕元素的颜色。这些存储在本地存储中,因此在激活表盘时它们需要一些时间来初始化。我想将这三个 GColor 存储在 Pebble 本身上,以便立即应用它们而无需检查手机的本地存储。谁能给我一个如何轻松完成的示例?

根据 Pebble 的 Storage API,值可以存储为布尔、整数、字符串或任意数据结构类型。我很不确定如何在 Pebbles 内存中读取和写入这三个 GColor,因为我使用 Cloudpebble 和 Clay 来处理缓慢但有效的设置。

【问题讨论】:

    标签: persist pebble-watch persistent-storage


    【解决方案1】:

    在 reddit/r/pebbledeveloper 和 u/please_press_start 上获得了一些帮助。

    当通过 Appmessage 从 Clay 传递一个值时,在 inbox_received_callback 函数中,我这样做是为了将颜色值写入 main.c 顶部#defined 的 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);
      }
    

    我在 init() 中应用颜色设置

    if (persist_exists(PERSISTCORNER)) {
        int persistcorner = persist_read_int(PERSISTCORNER);
        backgroundColour = GColorFromHEX(persistbg);
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多