MTK Idle界面显示日期时间流程
2010-06-01 14:18
585 查看
首先还是在idleapp.c
文件中:
EntryIdleScreen->mmi_idle_entry_idle_screen:其中
IdleRefreshServiceIndicationArea就是上一文章主要讨论的关于获取运营商信息的地方,
我们继续想下看,到 ShowCategory33Screen(IDLE_SCREEN_LSK_TEXT,
IDLE_SCREEN_LSK_ICON, idleLRStringtID, IDLE_SCREEN_RSK_ICON,
NULL);
这个窗体主要就是idlescreen显示的主窗体了,所有元素都是在这里面进行绘制的。然后我们升入到
wgui_categories_Idlescreen.c文件中的RedrawCategory33Screen()函数(至于为什么要到这里来,我也
是经过一好心网友指点才进来的,有点知其然,但不知其所以然的味道,请见谅)
很容易发现
update_mainlcd_dt_display:显示日期的地方
show_status_icons:显示状态栏图标的地方
idle_screen_show_network_details:显示网络相关信息(这里注意一下的就是:与前面说的
IdleRefreshServiceIndicationArea之间的关系)
然后我们可以再跟到每个函数里面,大概看实现了什么东西。
show_status_icon_bar(0);//
show_status_icons();
///
如果你正在为不知道如何显示和隐藏状态栏,你可以看看这个两个函数
找出手机软件的运行入口。所有的手机启动过程如下:开机 ---〉初始化硬件设
备----〉初始化软件(全局变量,读取nv数据等)----〉开机动画,搜寻网络,Sim卡等--->
Idle界面。在vc工程下,你可以搜寻"Init","Initialize","start","task"等关键字,可能会找
到很多c文件包含这些关键字。然后,你可以根据文件名,以及文件所属的路径,排除大
部分搜索结果。在剩下的每个搜索结果处,加一个断点。按“F5”调试,程序会停在某个
断点。这个断点向上看看,可以找到手机软件的运行入口。沿着这个断点跟下去,你就可
以发现APP初始化,读取nv,Sim ,显示Animation等等......
第三,简单了解Idle。根据文件路径以及文件名,我们可以确定哪几个文件属于Idle
。一般来说,各个平台的Idle程序都比较乱,因为Idle修改的人多,上面Icon,状态特多。
在Idle文件里查找“create”“start”“entry”等关键字,通过设置断点,可以定位Idle的
入口及其出口。Idle不要细看,只要知道Idle的入口,以及从Idle如何进入MainMenu就行
了。
第四,详细了解MainMenu。MainMenu是所有模块中比较简单的一个,程序代码也比
较少。只要了解了MenuMain,我觉得各位就可以在该平台上修改一些简单的Bug了。
第五,自己动手写一个简单的App,在App中尝试使用各种控件。至于如何使用控件,
各位可以先看看哪些模块用到这些控件,把相关程序拷贝过来,稍加修改即可。
文件中:
EntryIdleScreen->mmi_idle_entry_idle_screen:其中
IdleRefreshServiceIndicationArea就是上一文章主要讨论的关于获取运营商信息的地方,
我们继续想下看,到 ShowCategory33Screen(IDLE_SCREEN_LSK_TEXT,
IDLE_SCREEN_LSK_ICON, idleLRStringtID, IDLE_SCREEN_RSK_ICON,
NULL);
这个窗体主要就是idlescreen显示的主窗体了,所有元素都是在这里面进行绘制的。然后我们升入到
wgui_categories_Idlescreen.c文件中的RedrawCategory33Screen()函数(至于为什么要到这里来,我也
是经过一好心网友指点才进来的,有点知其然,但不知其所以然的味道,请见谅)
很容易发现
update_mainlcd_dt_display:显示日期的地方
show_status_icons:显示状态栏图标的地方
idle_screen_show_network_details:显示网络相关信息(这里注意一下的就是:与前面说的
IdleRefreshServiceIndicationArea之间的关系)
然后我们可以再跟到每个函数里面,大概看实现了什么东西。
show_status_icon_bar(0);//
show_status_icons();
///
如果你正在为不知道如何显示和隐藏状态栏,你可以看看这个两个函数
找出手机软件的运行入口。所有的手机启动过程如下:开机 ---〉初始化硬件设
备----〉初始化软件(全局变量,读取nv数据等)----〉开机动画,搜寻网络,Sim卡等--->
Idle界面。在vc工程下,你可以搜寻"Init","Initialize","start","task"等关键字,可能会找
到很多c文件包含这些关键字。然后,你可以根据文件名,以及文件所属的路径,排除大
部分搜索结果。在剩下的每个搜索结果处,加一个断点。按“F5”调试,程序会停在某个
断点。这个断点向上看看,可以找到手机软件的运行入口。沿着这个断点跟下去,你就可
以发现APP初始化,读取nv,Sim ,显示Animation等等......
第三,简单了解Idle。根据文件路径以及文件名,我们可以确定哪几个文件属于Idle
。一般来说,各个平台的Idle程序都比较乱,因为Idle修改的人多,上面Icon,状态特多。
在Idle文件里查找“create”“start”“entry”等关键字,通过设置断点,可以定位Idle的
入口及其出口。Idle不要细看,只要知道Idle的入口,以及从Idle如何进入MainMenu就行
了。
第四,详细了解MainMenu。MainMenu是所有模块中比较简单的一个,程序代码也比
较少。只要了解了MenuMain,我觉得各位就可以在该平台上修改一些简单的Bug了。
第五,自己动手写一个简单的App,在App中尝试使用各种控件。至于如何使用控件,
各位可以先看看哪些模块用到这些控件,把相关程序拷贝过来,稍加修改即可。
相关文章推荐
- MTK Idle界面显示日期时间流程
- Idle窗口显示日期时间流程
- 在jqueryEasyUI界面将时间以日期加时分秒的格式显示
- Date Time Picker时间控件只能显示日期或时分秒,我怎么才能让它在界面上同时显示出两者,并且保证点击下拉按钮时可编辑日期? 2010-11-24 19:47
- HOWTO:恢复今日界面中的日期时间为两排显示
- 在jqueryEasyUI界面将时间以日期加时分秒的格式显示
- Reporting Service基本界面使用3---设定日期列的时间显示格式
- MTK 个人入门笔记(按键测试,修改虚拟键盘背景,搜网时运营商重叠,修改flash空间和型号,关于树菜单的进入动作,idle上锁后无无法显示通话界面)
- javascript显示日期时间
- MTK 根据指定时间隐藏显示菜单
- Qt中利用定时器QTimer准实时显示当前日期和时间
- 用javascript写一个显示时间差 几分钟前 几小时前 几天前 几周前 大于一个月显示日期
- 一个日期时间显示框的美化风格示例
- js获取当前日期时间同时显示星期
- JS 精确显示日期和时间
- 后台得到时间戳到jsp中转换为日期显示
- android 日期时间格式转换;软键盘显示消失;获取系统title
- HTML显示日期时间代码
- Android5.0 InCall 通话界面显示流程
- EasyUI的DataGrid日期列(datebox)正确显示json时间格式