现在的位置: 首页 > 综合 > 正文

Brew编程初步

2018年05月08日 ⁄ 综合 ⁄ 共 1696字 ⁄ 字号 评论关闭

一般AP应用程序的生成包含以下几个重要步骤:
1)加载AP,指定AP的创建函数;
2)创建AP,并初始化;
3)在事件处理函数中处理各种事件;

对应的几个重要函数如下:
XXX_Load              ----应用程序加载函数;
XXX_CreateInstance  ----应用程序创建函数;
XXX_HandleEvent      ----应用程序事件处理函数;

// hello world中所改动的handle event替换代码
    AECHAR *buffer= (AECHAR*)L"Hello!I love Solis!";
   AECHAR szText[] = {'H','e','l','l','o',' ','W','o', 'r', 'l', 'd', '\0'};
   switch (eCode){
      case EVT_APP_START:                       
         IDISPLAY_DrawText(pMe->a.m_pIDisplay,    // 显示实例
                           AEE_FONT_BOLD,       // 使用粗BOLD字体
                           szText,              // 文本 - 通常来自资源
                           -1,                  // -1 = 使用全字符串长度。
                           0,                   // x 忽略 - IDF_ALIGN_CENTER
                           0,                   // y 忽略 - IDF_ALIGN_MIDDLE
                           NULL,                // 不进行裁减 (No clipping)
                           IDF_ALIGN_CENTER | IDF_ALIGN_MIDDLE); //样式
         IDISPLAY_Update (pMe->a.m_pIDisplay);
         return(TRUE);
      case EVT_APP_STOP:
         return(TRUE);
      default:
         break;
   }
   return(FALSE);

想在BREW终端上写好稳定健壮的应用程序,调试信息是必不可少的,因为唯有它,才能知道调试中系统崩溃前一刻,程序可能跑到哪一行。否则,只能使用硬件调试器跟踪,那将是更为麻烦。一般UI应用崩溃,都可以使用调试信息找到应用崩溃问题。

DBGPRINTF调试信息:
 建议调试信息尽可能做到5-10行代码,至少有一行调试信息打印出来,不要太多,但也不要太吝啬。

写文件调试信息:
有些应用可能需要使用写文件的方式保存日志,建议在关键地方写日志,文件到一定大小再清掉日志重新写。太大的日志会影响系统执行速度。

调试信息不应该放的地方:
1:窗口的函数中
2:列表的显示函数中(XXXX_Adapter)
大部分应用在启动开始就需要做内存检查。如果内存不足,应用应该自动退出。
函数中尽量少使用大空间数组,而是使用指针分配内存空间;对大于20个字节的结构或者数组,都该使用MALLOC来分配空间。如把原来声明
AECHAR  szTemp[10];
的过程改为
AECHAR  *szTemp = NULL;
szTemp = MALLOC(10*sizeof(AECHAR));//检查内存是否为空后再使用
FREEIF(szTemp);
//代码风格

 使用异步消息:
函数处理中尽量使用异步消息机制(ISHELL_PostEvent)来处理。如果函数调用的其它函数非常多次,也是有可能导致堆栈溢出。这种处理的主要目的,就是把原来同步处理的过程,分成几个异步消息处理,避免频繁压栈导致栈空间溢出。
提示:
不要使用ISHELL_SendEvent来发送消息,该函数是同步函数。

抱歉!评论已关闭.