MTK平台学习--在Organizer模块中编写一个简单地APP

本文详细介绍了在MTK平台上,如何在Organizer模块中编写并集成一个名为MyApp的应用。从菜单ID、屏幕ID、字符串ID和图片ID的设置,到各个源文件的修改和资源函数的添加,以及使用Draw Manager和Touch Screen的高级模板,一步步展示了整个过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

A.  菜单ID:  MENU_ID_MYAPP_TEXT
     屏幕ID:  SCR_ID_MYAPP_TEXT
     字串ID:  STR_ID_MYAPP_TEXT
     图片ID:  ICON_ID_MYAPP_TEXT
B.  MyAppDef.h
     MyAppProt.h
     MyAppGprot.h
     Res_MyAppRes.c

1.   GlobalMenuItem.h
     在GLOBALMENUITEMSID中添加1个菜单: MENU_ID_MYAPP ;
2.   MyAppDef.h
     A. 创建新文件
     B. 分别在枚举列表中添加屏幕ID: SCR_ID_MYAPP_TEXT ;
                            字串ID: STR_ID_MYAPP_TEXT ;
                            图片ID: IICON_ID_MYAPP_TEXT ;
3.   ResMainMenu.c
     A. 在枚举OrganizerMenu中添加新的枚举值: ORG_ENUM_MYAPP_TEXT ;
     B. ADD_APPLICATION_MENUITEM((MAIN_MENU_ORGANIZER_MENUID,…………))时加入新的菜单ID( MENU_ID_MYAPP_TEXT ) ;
4.   Res_Organizer.c
     A. 添加新字符串( STR_ID_MYAPP_TEXT )的值 ;
     B. 添加新图片( ICON_ID_MYAPP_TEXT )的值 ;
     C. 添加新菜单( MENU_ID_MYAPP_TEXT )自身的子菜单 ;
5.   Organizer.c
     添加新菜单所指示项目的初始化函数( MyAppTextInit ) ;
6.   MyApp.c
     编写如下函数
     A.  新菜单所指示项目的初始化函数( MyAppTextInit ) ,
         该函数简单的例子:
         SetHiliteHandler( MENU_ID_MYAPP_TEXT, HighlightMyAppTextMenu ) ;
         在其中调用新菜单的高亮句柄函数
     B.  新菜单的高亮句柄函数( HighlightMyAppTextMenu )
         该函数简单的例子:
         SetLeftSoftkeyFunction( mmi_myapp_entry_text_screen, KEY_EVENT_UP ) ;
         在其中注册左软件的关联函数
     C.  新窗口的进入函数( mmi_myapp_entry_text_screen ) ;
7.   MyAppGProt.h
     外部声明(extern)MyAppTextInit ;
8.   MyAppProt.h
     外部声明(extern)以上3函数 ;
9.   plutommi.lis
     位置:  ../make/plutommi/plutommi.lis
     添加要编译的源文件:  plutommi/MMI]Organizer/OrganizerSrc/MyApp.c
10.  PopulateRes.c
     ../plutommi/MMI/Resource/PopulateRes.c
     声明新的资源函数
     (1)  extern void  PopulateMyAppRes( void ) ;
     (2)  ADD_APPLICATION(APP_MYAPP, "MyApp", MYAPP_BASE, MYAPP_BASE_MAX);
     (3)  PRINT_INFORMATION(("Populating MyApp Resources/n"));
          PopulateMyAppRes();
11.  MMIDataType.h
     ../plutommi/mmi/Inc/MMIDataType.h
     声明资源范围
     (1)  在APPLICATION_DEPLOY枚举中增加APP_MYAPP,
     (2)  RESOURCE_BASE_RANGE(MYAPP,                      50),
     (3)  #define MYAPP_BASE                          ((U16) RESOURCE_BASE_MYAPP)
          #define MYAPP_BASE_MAX                      ((U16) RESOURCE_BASE_MYAPP_END)
          RESOURCE_BASE_TABLE_ITEM(MYAPP)
12.  Res_MyApp.c
     创建MyApp的资源函数
13.  MyApp头文件的添加
     A.  Res_MyApp.c
     B.  MyApp.c
     C.  Res_Organizer.c
     D.  Organizer.c
14.  使用高级模板( Draw Manager, Touch Screen )
     A.   Wgui_categories_enum.h
          位置: ../plutommi/mmi/gui/gui_inc
          在MMI_CATEGORY_ID_LIST枚举中添加新模板的ID: MMI_CATEGORYWT001_ID
     B.   CustCoordinates.c
          位置: ../plutommi/customer/custresource
          a. 在映射表 const dm_category_id_control_set_map_struct_categories_controls_map[]=
             中添加
             {MMI_CATEGORYWT001_ID,(U8*)categoryWT001,(S16*)coordinate_setWT001,NULL}
          b. 添加上述两个控检
             (1)    列表控件
                    const U8 categoryWT001[]=
                    {
                         3, // the number of controls
                         DM_BASE_LAYER_START,
                         DM_LIST1,
                         DM_BUTTON_BAR1
                    };
             (2)    属性集
                    const S16 coordinate_setWT001[]=
                    {
                         DM_FULL_SCREEN_COORDINATE_FLAG, // Base Attribute
                         20,                             // x
                         MMI_CONTENT_Y+5,                // y
                         136,                            // Width
                         MMI_CONTENT_HEIGHT-40,          // Height
                         DM_NO_FLAGS,                    // Flags
                         DM_DEFAULT_BUTTON_BAR_FLAG,
                         MMI_SOFTKEY_WIDTH  
                    }; 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值