MTK编程起步开发常用知识.docx
- 文档编号:15338715
- 上传时间:2023-07-03
- 格式:DOCX
- 页数:32
- 大小:32.80KB
MTK编程起步开发常用知识.docx
《MTK编程起步开发常用知识.docx》由会员分享,可在线阅读,更多相关《MTK编程起步开发常用知识.docx(32页珍藏版)》请在冰点文库上搜索。
MTK编程起步开发常用知识
MTK编程起步——开发常用知识
2010-12-0310:
53:
02| 分类:
MTK工作总结| 标签:
|字号大中小 订阅
加载过的字符串生成文件:
string_resource_usage.txt
加载过的图片生成文件:
image_resource_usage.txt
SMS编辑界面,中间按键的显示:
mmi_sms_entry_editor
{
#ifdef__MMI_WGUI_CSK_ENABLE__
EnableCenterSoftkey(0,IMG_GLOBAL_SEND_MSG_CSK);
mmi_imc_disable_csk();
#endif
}
EnableCenterSoftkey(0,0);去掉其使用。
设置默认时间:
custom_hw_default.c:
DEFAULT_HARDWARE_YEAR、DEFAULT_HARDWARE_MON、DEFAULT_HARDWARE_DAY
Restore.c恢复出厂时间:
RstResetDateTime()
上下左右快捷键设置:
Resource_shortcuts.c:
数组:
gShctCandList 可选的快捷方式入口
gShctDefaultList 默认有的入口
gShctDefaultDediList[4] 上下左右四个键的入口
camera、video的一些默认值设置:
MMI_features_camera.h、MMI_features_video.h
(plutommi\customer\custresource\pluto_mmi)
UI_device_height
UI_device_width
MMI_button_bar_height
修改默认输入法:
Common_mmi_cache_config.c:
NVRAM_SETTING_PREFER_INPUT_METHOD
RESTORE_PREFER_INPUT_METHOD
modis上看需修改版本号:
NVRAM_EF_CACHE_SHORT_LID_VERNO
(custom_nvram_editor_data_item.h)
电话本的存储设置:
mmi_phb_entry_quick_search_list()
{
guiBuffer=GetCurrGuiBuffer(SCR_ID_PHB_QUICK_SEARCH_LIST);
/*NEOTEL:
caiqin20100818addforphbdisplaybegin*/
#if!
defined(__NEOTEL_N73_SETTING__)
entryCount=mmi_phb_num_of_phb_contact_in_storage(g_phb_cntx.prefer_storage);
#else
entryCount=mmi_phb_num_of_phb_contact_in_storage(MMI_STORAGE_BOTH);
#endif
SetLeftSoftkeyFunction(MTPNP_PFAL_PHB_entry_list_choose_number_dial,KEY_EVENT_UP);//左按键
进入拨打的界面。
}
去掉idle界面,网络名字前面的SIM卡前面的图标:
wgui_cat033_show_techno_network_name()
和wgui_cat033_show_techno_network_name2()
的:
#ifdefined(M8171_SW_VERSION)||defined(M8968_SW_VERSION)||defined(M8289_SW_VERSION)
dual_sim_img=NULL;//赋值为空
#else
dual_sim_img=get_image(WGUI_IMG_IDLE_SIM1);
#endif
修改时间的默认格式为12小时制:
#ifdef__NEOTEL__SETTING__
BYTE_ENTRY(TIME_FORMAT,0X00),//12小时制
#else
BYTE_ENTRY(TIME_FORMAT,0X01),//24小时制
#endif
#ifdef__NEOTEL__SETTING__
BYTE_ENTRY(RESTORE_DEFAULT_TIME_FORMAT,0x00),
#else
BYTE_ENTRY(RESTORE_DEFAULT_TIME_FORMAT,0x01),
#endif
修改IP号码的15位:
#ifdefM8181_SW_S80_VERSION
#defineMAX_IP_NUMBER_LEN 15
#else
#defineMAX_IP_NUMBER_LEN 10
#endif
文件nvram_common_defs.h:
#ifdefM8181_SW_S80_VERSION
#defineNVRAM_IP_NUMBER_SIZE 32*3
#else
#defineNVRAM_IP_NUMBER_SIZE 22*3
#endif
修改GPRS相关的文件:
#defineMAX_GPRS_PROFILE_NUM(9)--custom_data_account.h
#defineNVRAM_EF_ABM_GPRS_PROFILE_TOTAL 12
NVRAM_EF_ABM_PS_PROFILE_DEFAULT
NVRAM_EF_ABM_PS_PROFILE_DEFAULT
NVRAM_EF_WAP_PROF_WAP_PROFILE_CONTENT_DEFAULT
NVRAM_EF_WAP_PROF_WAP_SIM1_PROFILE_NAMES_DEFAULT
NVRAM_EF_WAP_PROF_WAP_SIM2_PROFILE_NAMES_DEFAULT
NVRAM_EF_WAP_PROF_MMS_SIM1_PROFILE_NAMES_DEFAULT
NVRAM_EF_WAP_PROF_MMS_SIM2_PROFILE_NAMES_DEFAULT
MMI_features_video.h文件:
forvideoplayer:
showtextwhenhotkeypess
#ifndef__NEOTEL__SETTING__
#define__VDOREC_FEATURE_HIDE_OSD__//屏蔽这两个宏
#define__VDOREC_FEATURE_MULTI_REGION_LAYER_BG__
#endif/*__NEOTEL__SETTING__*/
显示2个IMEI号:
#ifdefined(__MMI_DUAL_SIM_MASTER__)&&defined(__NEOTEL_MULTI_LANGUAGE__)||defined(M8181_SW_S80_VERSION)
mmi_ssc_get_sim2_imei_req();
#else
ShowIMEIScreen();
#endif
修改音乐播放器的歌曲标题坐标:
mmi_audply_redraw_main_AP_title()
gui_print_truncated_borderd_text(、、,MMI_title_string);
允许主屏幕屏保时钟显示:
show_main_LCD_date_time函数中:
if(enable_main_LCD_date_time_display)
{
dm_coordinatescoordinates;
if(show_date==0)
{
coordinates.s16X=main_LCD_dt_object.date.x;
coordinates.s16Y=main_LCD_dt_object.date.y;
coordinates.s16Width=main_LCD_dt_object.date.width;
coordinates.s16Height=main_LCD_dt_object.date.height;
setup_previous_control(&coordinates);
}
update_mainlcd_dt_display
多个含内嵌菜单的上下菜单选择按键响应函数:
register_inline_fixed_list_keys
{
register_keyboard_key_handler(inline_fixed_list_key_handler);
SetKeyHandler(inline_fixed_list_goto_previous_item,KEY_UP_ARROW,KEY_EVENT_DOWN);
SetKeyHandler(inline_fixed_list_goto_next_item,KEY_DOWN_ARROW,KEY_EVENT_DOWN);
SetKeyHandler(inline_fixed_list_goto_previous_item,KEY_VOL_UP,KEY_EVENT_DOWN);
SetKeyHandler(inline_fixed_list_goto_next_item,KEY_VOL_DOWN,KEY_EVENT_DOWN);
}
内嵌菜单左右选择响应函数:
register_inline_select_menu_keys
{
SetKeyHandler(inline_select_menu_previous_item,KEY_LEFT_ARROW,KEY_EVENT_DOWN);
SetKeyHandler(inline_select_menu_next_item,KEY_RIGHT_ARROW,KEY_EVENT_DOWN);
SetKeyHandler(inline_select_menu_handle_up_arrow,KEY_UP_ARROW,KEY_EVENT_DOWN);
SetKeyHandler(inline_select_menu_handle_down_arrow,KEY_DOWN_ARROW,KEY_EVENT_DOWN);
SetKeyHandler(inline_select_menu_handle_up_arrow,KEY_VOL_UP,KEY_EVENT_DOWN);
SetKeyHandler(inline_select_menu_handle_down_arrow,KEY_VOL_DOWN,KEY_EVENT_DOWN);
register_keyboard_key_handler(inline_select_menu_keyboard_key_handler);
}
按键响应函数:
execute_softkey_function
隐藏按键:
wgui_softkey_hide(MMI_RIGHT_SOFTKEY);
重画按键:
redraw_softkey
{
hide_softkey[key]();
show_softkey(key);
}
写短信模块按键响应:
SetLeftSoftkeyFunction(mmi_sms_entry_editor_options,KEY_EVENT_UP);
SetCenterSoftkeyFunction(mmi_sms_ed_send,KEY_EVENT_UP);
SetCategory28RightSoftkeyFunction(GoBackHistory,KEY_EVENT_UP);
写短信模块添加联系人:
mmi_sms_entry_add_recipient
mmi_sms_recipient_enter_number_done
mmi_sms_phone_number_done
MMS字串:
MEA_STR_ID_CONFIG
MMS模块的宏控制:
MMS_SUPPORT=OBIGO_Q03C_MMS_V01
MMS模块的入口函数:
goto_mms_screen()
wap_entry_widget_screen
彩信列表菜单创建:
widget_ctk_create_list_menu
widget_ctk_screen_create
widget_ctk_show_list_menu
meaSignalReceive参数已经封装好
{
switch(src_module)
{
caseMSF_MODID_SMA:
smaSignalHandler(signal,p);
break;
caseMSF_MODID_MSM:
msfSignalHandler(signal,p);
break;
caseMSF_MODID_MMS:
mmsSignalHandler(signal,p);
break;
caseMSF_MODID_SLS:
slsSignalHandler(signal,p);
break;
}
/*drawtheblanksoftkeyifnosoftkeybutton*/
show_softkey_background();
modis上:
MMI_ON_WIN32
修改本机密码等:
nvram_common_custpack.c:
COMMON_NVRAM_EF_MS_SECURITY_DEFAULT[]:
定义贪睡重复闹钟次数:
AlarmDef.h:
MAX_SNOOZE_CHANCES
gui_switch.h宏定义:
定义MMI窗体等的高度、宽度
GUI图片绘制:
gui.c
gui_show_image(S32x,S32y,PU8i)
gui_measure_image(PU8i,S32*width,S32*height)
gui_move_text_cursor(S32x,S32y)
gui_measure_string(UI_string_typetext,S32*width,S32*height)
GDI图片绘制:
gdi_image.c:
gdi_image_get_dimension_id(U16image_id,S32*width,S32*height)
gdi_image_draw_id(OFFSET_X,OFFSET_Y,IMAGE_ID):
{gdi_image_draw}
gdi_image_draw:
{gdi_image_codec_draw}
日历的相关定义:
Gui_calendar.h
日历的绘制:
gui_calendar.c
设置idle界面,默认时钟:
wgui_datetime.c:
U8g_clock_type=ANALOG;
电池电量变化响应函数:
wgui_status_icon_refresh_fixed_status_icon
{
wgui_status_icon_arrange_status_icons()
{
MMI_status_icons_list1[0]=STATUS_ICON_SIGNAL_STRENGTH;
MMI_status_icons_list1[1]=STATUS_ICON_BATTERY_STRENGTH;
#ifdefined(__DOUBLE_BATTERY__)
MMI_status_icons_list1[2]=STATUS_ICON_BATTERY_STRENGTH_SLAVE;
MMI_status_icon_bars[0].n_icons=3;
#ifdefined(__NEOTEL_N73_SETTING__)
MMI_status_icons_list1[3]=STATUS_ICON_SLAVE_SIGNAL_STRENGTH;
MMI_status_icon_bars[0].n_icons++;
#endif
#else
MMI_status_icon_bars[0].n_icons=2;
#endif
}
}
信号量图标和电池图标坐标设置:
wgui_status_icon_arrange_status_icons
(arrange_status_icons)
进入idle界面的函数:
wgui_cat033_redraw
{
if(PhnsetGetShowDateTimeStatus()==MMI_TRUE)
{
#ifdefined(__NEOTEL_NOKIA_IDLESCREEN_STYLE__)
gui_show_image(0,0,get_image(idlescreen_bar_id));//idle界面去掉时钟图标
#else
gui_show_image(0,MMI_status_bar_height,get_image(idlescreen_bar_id));
#endif
}
update_mainlcd_dt_display();
in_idle_screen();
wallpaper_layer=wgui_cat033_get_text_abm_layer();wgui_status_icon_set_alpha_layer(wallpaper_layer);
idle_screen_show_network_details();
register_hide_status_icon_bar(0,idle_screen_hide_status_icons_bar0);
#if!
defined(__MMI_MAINLCD_320X480__)
register_hide_status_icon_bar(1,idle_screen_hide_status_icons_bar1);
#endif
show_status_icons();
#ifdefined(__NEOTEL_NOKIA_IDLESCREEN_STYLE__)
show_nokia_idle_function();
#endif
}
N73,idle设置左右按键:
设置左右按键:
IdleSetLRKey()
{
#ifdefined(__NEOTEL_LSK_TO_SENDKEY2__)
if((MTPNP_AD_Get_UsableSide()==MTPNP_AD_DUALSIM_USABLE)||(MTPNP_AD_Get_UsableSide()==MTPNP_AD_SIMCARD2_USABLE))//如果两个卡可用或者卡2可用,就进入call_list界面
{
lsk_func=MTPNP_PFAL_chist_slave_req_read_mixed_num_by_key;
}
else
{
lsk_func=MMI_Display_Nosim_Message;//若无卡2则提示插入卡
}
#else
lsk_func=EntryMainMenuFromIdleScreen;
#endif
rsk_func=mmi_phb_idle_enter_phb_list;//右软键进入电话簿列表
//更换左右按键的响应和字串
#ifdefined(__MMI_SWAP_LSK_RSK_IN_IDLE_SCREEN__)
/*SwaptheLSKandRSKhandler.*/
tmp_func=lsk_func;
lsk_func=rsk_func;
rsk_func=tmp_func;
/*SwaptheLSKandRSKstring.*/
tmp_str=lsk_str;
lsk_str=rsk_str;
rsk_str=tmp_str;
#endif/*__MMI_SWAP_LSK_RSK_IN_IDLE_SCREEN__*/
}
待机界面设置日期和时间的坐标:
set_dt_display
{
/*NEOTEL:
zhangyan20100815 addbegin*/
#ifdefined(__NEOTEL_N73_SETTING__)
x=32;//设置时间坐标
y=1;
#endif
/*NEOTEL:
zhangyan20100815 addend*/
x1=main_LCD_dt_object.time.x=x-DT_DISPLAY_GAP;
y1=main_LCD_dt_object.time.y=y-DT_DISPLAY_GAP;
#ifdefined(__NEOTEL_N73_SETTING__)
x=50;//设置日期坐标
y=18;
#endif
x1=main_LCD_dt_object.date.x=x;
y1=main_LCD_dt_object.date.y=y;
/*NEOTEL:
caiqin20100727addfortimebegin*/
x2=x1+main_LCD_dt_object.time.width-1;
/*NEOTEL:
caiqin20100727addfortimeend*/
y2=y1+main_LCD_dt_object.time.height-1;
enable_main_LCD_date_time_display=1;
}
show_main_LCD_date_time
{
/*getcurrenttimeinstringformat*/
time_string(&main_LCD_dt_object.time.t,(UI_string_type)s,main_LCD_dt_object.flags);
}
if(PhnsetGetShowDateTimeStatus()==MMI_TRUE)
{update_mainlcd_dt_display();}
时间显示的clip的地方增加格式判断:
P
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MTK 编程 起步 开发 常用 知识