返回官网官方微博

麦步社区-论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

搜索
热搜: MAI 表盘
查看: 3804|回复: 6
打印 上一主题 下一主题

感觉麦步系统不太稳定啊

[复制链接]

8

主题

26

帖子

476

麦力

精华
0
阅读权限
30
在线时间
12 小时

跳转到指定楼层
楼主
发表于 2016-11-28 21:57:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本来以为升级系统后,界面无法刷新的问题解决了。可是第二天早上一看又不刷新了,真是无语了。然后重启了下,又好了。把代码贴出来,大家帮我看看有没有问题,真心希望明天早上能看到一个正常刷新的界面。

代码太长  完整代码放到附件里了


#include <stdlib.h>#include <stdio.h>#include <string.h>
#include "./SDK/maibu_sdk.h"#include "maibu_res.h"
/*窗口ID, 通过该窗口ID获取窗口句柄*/static int8_t g_MainWindow_ID = -1;
//时间日期图层static int8_t g_DateTime_ID = -1;//限号图层static int8_t g_LimitNums_ID = -1;//文本图层static int8_t g_Text_ID = -1;//城市static int8_t g_City_ID = -1;
static void myapp_update_data(){
    P_Window p_window = (P_Window)app_window_stack_get_window_by_id(g_MainWindow_ID);    if (NULL == p_window)    {        return ;    }
    P_Layer p_datetime_layer = app_window_get_layer_by_id(p_window, g_DateTime_ID);    if (NULL == p_datetime_layer)    {        return;    }
    P_Layer p_text_layer = app_window_get_layer_by_id(p_window, g_Text_ID);    if (NULL == p_text_layer)    {        return;    }
    P_Layer p_limitnum_layer = app_window_get_layer_by_id(p_window, g_LimitNums_ID);    if (NULL == p_limitnum_layer)    {        return;    }
    char weekday[7][4 = { {"日"}, {"一"}, {"二"}, {"三"}, {"四"}, {"五"}, {"六"} };
    struct date_time datetime;    app_service_get_datetime(&datetime);    int today = datetime.wday;
    char str[18 = "";    sprintf(str, "%02d:%02d 周%s %02d-%02d", datetime.hour, datetime.min, weekday[today],            datetime.mon, datetime.mday);    app_layer_set_text_text(p_datetime_layer, str);    //maibu_print_log(str);

    //周末不限行    if(today == 6 || today == 0)    {        unsigned char buf[18 = "";        memcpy(buf, "周末不限行", 18);        app_layer_set_text_text(p_text_layer, buf);    }    else    {        unsigned char buf[20 = "";        memcpy(buf, "今日限行尾号", 20);        app_layer_set_text_text(p_text_layer, buf);

        int flag = 0;        if(datetime.year == 2016 || ( datetime.mon == 1 && datetime.mday <= 8 ))            flag = 1;        else            flag = -3;
        char limitNum1 = (today - flag)%5;
        char str[20 = "";        sprintf(str, "%d  %d", limitNum1, limitNum1+5);        app_layer_set_text_text(p_limitnum_layer, str);
    }
    app_window_update(p_window);
}static void app_mwd_watch_time_change(enum SysEventType type, void *context){    /*如果系统事件是时间更改*/    if (type == SysEventTypeTimeChange)    {        myapp_update_data();    }}



limit.rar

2.06 KB, 下载次数: 570

c文件

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信 WeiboWeibo
收藏收藏1 分享分享 顶 踩

5

主题

105

帖子

539

麦力

精华
1
阅读权限
30
在线时间
41 小时

沙发
发表于 2016-11-28 23:21:09 | 只看该作者
本帖最后由 时间 于 2016-11-28 23:34 编辑

你的代码没有问题,可以在模拟器里调整日期后,会自动变的。

8

主题

26

帖子

476

麦力

精华
0
阅读权限
30
在线时间
12 小时

板凳
 楼主| 发表于 2016-11-29 08:46:20 来自手机 | 只看该作者
是啊  但是偶尔还是有不刷新的情况出现  昨天到现在还行  一直正常

3

主题

118

帖子

1223

麦力

精华
1
阅读权限
150
在线时间
59 小时
地板
发表于 2016-11-29 10:17:13 | 只看该作者
窗口ID要设为uint32_t的,请看API文档中定义的值。

2

主题

20

帖子

1029

麦力

精华
0
阅读权限
30
在线时间
41 小时

5#
发表于 2016-11-29 10:36:55 | 只看该作者
/*窗口ID, 通过该窗口ID获取窗口句柄*/
static int8_t g_MainWindow_ID = -1;

应该是:
static int32_t g_MainWindow_ID = -1;

8

主题

26

帖子

476

麦力

精华
0
阅读权限
30
在线时间
12 小时

6#
 楼主| 发表于 2016-11-29 10:54:47 | 只看该作者
包子馒头2 发表于 2016-11-29 10:36
/*窗口ID, 通过该窗口ID获取窗口句柄*/
static int8_t g_MainWindow_ID = -1;

哦  是吗   我只看demo了 没仔细看文档   谢谢啦  

23

主题

1532

帖子

9071

麦力

精华
0
阅读权限
80
在线时间
103 小时

7#
发表于 2016-12-4 14:07:09 | 只看该作者
膜拜大神
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|麦步官方论坛 ( 粤ICP备12052190号  

GMT+8, 2024-11-24 07:52 , Processed in 0.073763 second(s), 27 queries .

Powered by Discuz! X3.2

© 2012-2021 Comsenz Inc.

快速回复 返回顶部 返回列表