WAP之家:为您提供最全最新的WAP技术,CP.SP.3G等行业资讯。 WAP之家交流论坛全新开放 点击进入>>
WAP资讯 | 3G动态 | SP动态 | 运营商动态 | 内容商动态 | 制造商动态 | 论坛讨论>> 每次自动访问
WAP技术 | WAP源码 | 手机编程 | 手机源码 | 无线技术 | J2ME技术 | 手机软件 添加到收藏夹
IVR技术 | SP资料 | SMS MMS技术 | 商业方案 | IVR下载 | 书籍教程 | 工具软件 语言:繁體中文

WAP之家技术文章手机编程BREW使用C++进行BREW编程

使用C++进行BREW编程
作者:佚名  来源:本站整理  发布时间:2008-4-8 0:47:33

使用C++进行BREW编程
——Program in BREW with C++

高通SDK里面教我们创建工程的方式默认是使用C语言,不过有时候使用C++会比较方便,本文介绍怎么在BREW里搭建一个C++的框架。

1、首先按照高通的方法新建一个工程,暂时命名为“test”,这样在生成的工程下会自动产生“test.c”文件。

2、新建一个工程头文件,命名为“test.h”,里面实现一个类TestCpp,代码如下:
class TestCpp: public AEEApplet //类必须继承自AEEApplet
{
public:
     static boolean  HandleEvent(TestCpp* pTestCpp, AEEEvent eCode,
                uint16 wParam, uint32 dwParam);
protected:
    //add your codes here
};

3、把“test.c”重命名为“test.cpp”, 然后在“test.cpp”文件里作如下修改:
①原来int  AEEClsCreateInstance函数改成如下:
extern "C" int AEEClsCreateInstance(AEECLSID ClsId,IShell * pIShell,
IModule * pIModule, void ** ppApplet)
{
     AEEApplet* pMe = 0;
     *ppApplet = NULL;
     if(ClsId == AEECLSID_TEST )   //your classID
     {
         if(!AEEApplet_New(sizeof(TestCpp),  ClsId,  pIShell, pIModule,
(IApplet**)ppApplet, (AEEHANDLER) TestCpp::HandleEvent,        NULL) )
         return EFAILED;
             pMe = (AEEApplet*)(*ppApplet);
             if (!pMe)
                    return(EFAILED);
             return(SUCCESS);
     }
     else
          return(EFAILED);        
}
②原来static boolean test_HandleEvent函数改成如下:
boolean  TestCpp::HandleEvent(TestCpp* pApp, AEEEvent eCode,
uint16 wParam, uint32 dwParam)
{
                AECHAR text[] = L"Hello BREW C++";
                                AEEApplet* pMe = (AEEApplet*)pApp;       
   switch (eCode)
        {
case EVT_APP_START:   
            // Add your code here .....                     
          IDISPLAY_DrawText ( pMe->m_pIDisplay,
                                               AEE_FONT_LARGE,
                                               text,
                                               -1,
                                               0,
                                               0,
                                               NULL,
                                               IDF_ALIGN_CENTER|IDF_ALIGN_MIDDLE
                                              );
                  IDISPLAY_Update(pMe->m_pIDisplay);
       
                      return(TRUE);
      case EVT_APP_STOP:
                    // Add your code here .....

         return TRUE;
      default:
         break;
   }
   return FALSE;
}
③编译运行,就会看到你的屏幕中间显示“Hello BREW C++”了。^_^ Congratulations!

[] [返回上一页] [打 印]
文章评论

用户名: 查看更多评论

分 值:100分 85分 70分 55分 40分 25分 10分 0分

内 容:

         (注“”为必填内容。) 验证码: 验证码,看不清楚?请点击刷新验证码