MORE平台应用程序开发.ppt
MORE应用程序开发应用程序开发This Document communication is confidential.Recipient(s)named above is obligated to maintain secrecy and is not permitted to disclose the contents of this communication to others.Thank you.Give You More 应用开发技术支持沈李明MORE中间件平台介绍中间件平台介绍MORE-Mobile Open Runtime Environment关注解决以下问题:提供良好的应用开发环境和开发库,最大限度降低开发门槛。开发环境非常容易搭建,使用非常方便(相对于Symbian,Java,Brew,以及其他中间件平台.)支持C/C+各种属性(不支持C+异常处理机制)良好的移植层结构,便于移植到不同的手机软硬件平台。除了MTK以外,我们也有覆盖其他平台的能力最高的执行效率和最小的空间开销。嵌入式开发者必须坚持的准则This Document communication is confidential.Recipient(s)named above is obligated to maintain secrecy and is not permitted to disclose the contents of this communication to others.Thank you.开发流程开发流程开发环境搭建安装一个VC开发环境,如 VC6.0(推荐)、VC2003、VC2005、VC2008。安装ADS1.2(Build848)安装Cooee新建项目编写或移植代码模拟器调试目标编译This Document communication is confidential.Recipient(s)named above is obligated to maintain secrecy and is not permitted to disclose the contents of this communication to others.Thank you.开发环境使用新建项目开发环境使用新建项目新建项目时,用向导形式提供选择,选择基础开发库为纯Sdk还是支持扩展的Mfw类库。基于SDK的开发相当于是基于Windows API开发,开发工作量更大,但是具有更大的灵活性.基于MFW的开发,相当于是基于MFC的开发,我们提供了应用程序开发的标准模板、窗口控件库、消息传递机制This Document communication is confidential.Recipient(s)named above is obligated to maintain secrecy and is not permitted to disclose the contents of this communication to others.Thank you.This Document communication is confidential.Recipient(s)named above is obligated to maintain secrecy and is not permitted to disclose the contents of this communication to others.Thank you.自动生成框架代码和环境开发环境使用编写代码开发环境使用编写代码开发环境使用开发环境使用-模拟器调试模拟器调试This Document communication is confidential.Recipient(s)named above is obligated to maintain secrecy and is not permitted to disclose the contents of this communication to others.Thank you.开发环境使用目标编译环境开发环境使用目标编译环境This Document communication is confidential.Recipient(s)named above is obligated to maintain secrecy and is not permitted to disclose the contents of this communication to others.Thank you.开发库说明基于开发库说明基于SDK在生成新项目时选择“基于MoreSdk”可以生成一个基于MoreSdk应用程序的模板。基于MoreSdk的应用程序一般用在状态机相对简单的应用程序开发,或者C语言版本的应用程序的移植。More 应用入口函数:MoreMainMore应用程序消息处理函数:MoreProcThis Document communication is confidential.Recipient(s)named above is obligated to maintain secrecy and is not permitted to disclose the contents of this communication to others.Thank you.开发库说明基于开发库说明基于SDK#include More.hint MoreProc(int msg,void*param)switch(msg)case MM_START:case MM_KEY:MoreKeyPtr more_key=(MoreKeyPtr)param;MoreTrace(key msg arrive!key_code=%d,key_type=%d,n,more_key-keycode,more_key-keytype);break;default:break;return 0;/More 应用入口函数,MoreMainvoid MoreMain()/注册事件处理函数,注册之前应用不可以调用More系统接口。MoreAppInit(MoreProc);This Document communication is confidential.Recipient(s)named above is obligated to maintain secrecy and is not permitted to disclose the contents of this communication to others.Thank you.开发库说明基于开发库说明基于SDKMM_START:应用程序启动事件,可以在此事件中做应用程序初始化工作。MM_SHOW:应用程序窗口显示事件,这个事件可能在应用启动时和应用程序窗口被其他窗口(如通话窗口)覆盖后重新显示时被触发。MM_HIDE:应用程序窗口隐藏事件,这个事件在应用程序窗口被其他窗口(如通话窗口)覆盖时被触发。MM_EXIT:应用正常退出事件,应用程序调用MoreAppExit退出时触发的事件。可以在此事件中做应用程序所占用资源的释放,文件和网络的句柄的关闭等等处理。MM_KILL:应用被动退出事件,应用程序在某些情况下(如内存不足)被强行关闭时触发的事件。由于应用程序是被动退出,所以除了要处理MM_EXIT事件的处理外,可能对某些应用程序,需要保存当前状态,以便下次启动时恢复。MM_PAINT:该事件在应用程序界面需要重新绘制的时候被调用,可能触发该事件的情况有两种:1.应用程序窗口被显示;2.应用程序调用MoreFlush刷新窗口。MM_PEN:触笔事件,触笔被点下,抬起和点下后移动时触发。MM_KEY:按键事件,按键被按下,抬起时被触发This Document communication is confidential.Recipient(s)named above is obligated to maintain secrecy and is not permitted to disclose the contents of this communication to others.Thank you.开发库说明开发库说明MoreAPI标准C库函数:字符串函数,内存操作,数学函数等内存分配和释放(malloc,free,realloc),文件系统(fopen,fread)等C函数是不能用的,以More接口形式提供系统类:内存分配和释放,定时器,系统时间,设备信息等图像类:图像对象创建和释放图形类:画图,画字符串,画矩形,屏幕区域刷新等文件系统类,文件操作,文件夹操作,磁盘信息等多媒体类:音频播放,音量控制,背光和马达等网络类接口:socket,Http无线应用类接口:打电话,发短信,发彩信,上wap更多请查看:This Document communication is confidential.Recipient(s)named above is obligated to maintain secrecy and is not permitted to disclose the contents of this communication to others.Thank you.开发库说明基于开发库说明基于MFW在生成新项目时选择“基于MoreMfw”可以生成一个基于MoreMfw应用程序的模板Mfw(More FrameWork)是一套基于C+面向对象的应用程序库。Mfw提供的窗口消息机制和控件库可以大大节约应用程序开发的时间。MFW的组成的组成系统基类MObject窗口基类MScreen控件基类MControl控件类MButtonMListMComboboxMLabelMEdit数据结构类MStringMVectorMFW应用程序结构应用程序结构MFW系统屏蔽了系统入口函数MoreMain和系统消息响应函数MoreProc。MFW将系统消息映射到窗口处理函数中:onSysEvent:系统事件函数,对应MM_START、MM_SHOW、MM_EXIT等Paint函数:窗口绘制函数,对应于MM_PAINT事件onKeyPressed、onKeyReleased:按键处理函数,对应于MM_KEY事件pointerPressed、pointerReleased、pointerDragged:触笔处理函数,对应于MM_PEN详情请参考:activeScreen-activeControl-otherControl-otherSreen-.控件消息传递控件和窗口的交互通过控件事件处理函数完成:virtualint onCtrlEvent(int ctrl_id,int msg_id);控件处理的所有事件都会通过这个函数通知到父窗口,如按钮的按下事件和弹起事件。列表的选择事件等等。ctrl_id和msg_id分别是控件id和所处理的事件的id。More应用真机调试应用真机调试Accessport 串口调试工具MoreTrace 打印接口MoreGetSysTicks 系统开机毫秒数,用于测试帧率等应用开发技术支持应用开发技术支持沈李明 酷宇应用开发技术支持MSN QQ 102157108手机手机 电话电话 021-60823056-8088邮件地址:邮件地址:技术讨论群 50249175随时恭候您Give You MoreThank you!This Document communication is confidential.Recipient(s)named above is obligated to maintain secrecy and is not permitted to disclose the contents of this communication to others.Thank you.