免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1300 | 回复: 0
打印 上一主题 下一主题

MTK平台程序开发-2 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-08-24 16:31 |只看该作者 |倒序浏览
MTK程序将数据分为动态和静态数据。
动态数据指程序运行时才知道,由程序动态生成的。
静态数据指固定不变的数据,可以在程序编译时转换为二进制数据存入烧录文件中。
静态数据被称为资源。常见的资源有以下几种:字串,图像,菜单,字库,主题,声音等。
添加一个资源需要3个步骤:原料,ID,装载
原料其实就是数据源,如图片,字串等。
ID:资源的别名,程序只能通过ID得到资源。
装载:将原料转换为二进制数据,并与ID联系起来。
资源装载预编译程序是plutommi\Customer\ResGenerator\mtk_resgenerator.exe,这个程序在每次编译目标烧入文件之前临时编译生成。
添加资源步骤1:添加增加资源入口:
在plutommi\Customer\CustResource\PLUTO_MMI\Res_MMI添加一个Res_BluetoothUI.c 。
这个程序提供一个如何添加以及添加何种资源的function.
void PopulateBluetoothUIRes(void)
{
}
注意,这个C文件是预编译时提供给预编译程序。用来指定怎么添加以及添加何种资源的。
添加资源步骤2:修改Makefile
在plutommi\Customer\ResGenerator\Makefile中。
-I "plutommi/mmi/MainMenu/MainMenuInc" \
-I "plutommi\mmi\BluetoothUI\BluetoothUIInc" \
注意:此Makefile是资源预编译程序mtk_resgenerator.exe的Makefile
添加资源步骤3:修改PopulateRes.c
把PopulateBluetoothUIRes() 添加到PopulateResDate()中。当预编译程序mtk_resgenerator.exe运行时,会按照我们提供的接口PopulateBluetoothUIRes()中的内容把资源添加上去。
添加资源步骤4:添加资源ID:
因为每个类型资源的ID都在同一个取值空间。所以不能重复。
plutommi\mmi\Inc\MMIDataType.h
它实际是是提供了每个程序的BASE-ID.
现在以字串资源为例:
1. 在BluetoothUIDefs.h中添加字串ID:
STR_BLUETOOTHUI_STRING = BLUETOOTHUI_BASE+1,
注意:BLUETOOTHUI_BASE是在上面plutommi\mmi\Inc\MMIDataType.h中添加的。
2. 将ID与资源内容对应起来:
plutommi\Customer\CustResource\PLUTO_MMI\ref_list.txt中添加:
STR_BLUETOOTHUI_STRING 3Dijoy 鼎亿科技
表示:STR_BLUETOOTHUI_STRING这个ID与3Dijoy(英文) ,鼎亿科技(中文对应)
3. 字串装载:
在plutommi\Customer\CustResource\PLUTO_MMI\Res_MMI\Res_BluetoothUI.c

void PopulateBluetoothUIRes(void)
{
ADD_APPLICATION_STRING2(STR_BLUETOOTHUI_STRING,"3DiJoy", "");
}
第一个参数为:ID
第二个参数为:缺省资源(当ref_list.txt中没有此ID对应的资源时,使用这个)
第三个参数:字串描述,可以忽略
4. 字串读取:
GetString()可以从ID中读取数据。
gui_print_text((UI_string_type)GetString(STR_BLUETOOTHUI_STRING));
               
               
               

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/17928/showart_2035733.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP