More应用开发环境简介(2.0).doc_第1页
More应用开发环境简介(2.0).doc_第2页
More应用开发环境简介(2.0).doc_第3页
More应用开发环境简介(2.0).doc_第4页
More应用开发环境简介(2.0).doc_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

More应用开发环境使用说明概述More应用开发环境是针对国产手机的应用程序开发平台,它提供以下几部分功能:1 开发应用所需的API接口库和基础类库2 C/C+语言应用程序编译环境3 高仿真PC模拟开发环境4 应用程序模板生成工具本文将描述开发环境的安装和使用方法,为初识More平台的朋友提供参考。PC模拟开发环境More平台提供独立的高仿真PC模拟开发环境,该环境基于Visual C+集成开发环境的基础之上,在使用该环境之前你需要安装一个VC集成开发环境,如 VC6.0(推荐)、VC2003、VC2005、VC2008。模拟开发环境中包含一个手机模拟器,其界面如下:*你可以点击左上角的按钮修改模拟器的外观,选择不同LCD屏幕大小的模拟器目标开发环境的安装和运行More应用开发环境以安装包的形式发布,根据提示安装完毕后,安装程序会在桌面上添加应用程序图标:第一次运行MVBuilder.exe的快捷方式,会出现新建工程的对话框: 在对话框中填入项目名并且选择目录之后便可以生成第一个More应用程序开发的模板工程。在这里你也可以选择应用程序需要包含的基础库:n MoreSdk是完全用C语言开发的API接口库,主要用于状态机相对简单的单窗口的应用程序。n MoreMfw类库是基于MoreSdk开发成的C+基础类库。它提供了一套完成的窗口控件类库以及其他C+基本类库如:String、Vector等。点击OK后会自动打开MVBuilder真机编译器和VC模拟开发环境。应用程序的开发和调试一般在模拟环境下完成,高仿真的PC模拟环境能为你提供方便快捷的开发工具和调试手段,加快应用开发进度。应用程序完成开发后你可以用MVBuilder对代码进行编译生成的手机版可执行文件,加载到手机中运行。 MVBuilder真机编译器More平台提供可视化的真机编译工具MVBuilder,完成More应用项目目标编译的任务。MVBuilder建立在ADS基础之上。所以在编译之前,需要安装ADS1.2(Build848)。你可以在MVBuilder中“选择项目”来编译,也可以通过它“生成新项目”。MVBuilder也可以对目标编译的可执行文件进行压缩打包,你可以通过“设置”属性来选择是否需要进行压缩。基于MoreSdk的应用开发简介在生成新项目时选择“基于MoreSdk”可以生成一个基于MoreSdk应用程序的模板。基于MoreSdk的应用程序一般用在状态机相对简单的应用程序开发,或者C语言版本的应用程序的移植。基于MoreSdk的程序模板只有一个c文件,该文件命名和项目名相同(如test.c)。文件内容为:#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); More.h 包含了所有MoreSdk中API的声明,需要调用MoreSdk中的API只需要包含这个头文件即可。MoreMain为应用程序入口函数,通过MoreAppInit将事件处理函数注册到系统,在此之后系统消息会发送到该事件处理函数中进行处理。一般应用中需要处理的系统事件有: MM_START:应用程序启动事件,可以在此事件中做应用程序初始化工作。 MM_SHOW:应用程序窗口显示事件,这个事件可能在应用启动时和应用程序窗口被其他窗口(如通话窗口)覆盖后重新显示时被触发。 MM_HIDE: 应用程序窗口隐藏事件,这个事件在应用程序窗口被其他窗口(如通话窗口)覆盖时被触发。 MM_EXIT:应用正常退出事件,应用程序调用MoreAppExit退出时触发的事件。可以在此事件中做应用程序所占用资源的释放,文件和网络的句柄的关闭等等处理。 MM_KILL:应用被动退出事件,应用程序在某些情况下(如内存不足)被强行关闭时触发的事件。由于应用程序是被动退出,所以除了要处理MM_EXIT事件的处理外,可能对某些应用程序,需要保存当前状态,以便下次启动时恢复。 MM_PAINT: 该事件在应用程序界面需要重新绘制的时候被调用,可能触发该事件的情况有两种:1.应用程序窗口被显示;2.应用程序调用MoreFlush刷新窗口。 MM_PEN: 触笔事件,触笔被点下,抬起和点下后移动时触发。 MM_KEY: 按键事件,按键被按下,抬起时被触发More应用程序的编写主要是完成对这些事件的处理。比如需要绘制一张图片到屏幕上,需要调用以下几个API函数1. 创建图片对象:在MM_START事件处理中调用CreateMoreImage函数创建图片对象;2. 绘制图像:在MM_PAINT事件处理中调用MoreDrawImage函数绘制图像;3. 刷新图像:在MM_KEY等事件处理时调用MoreFlushFullScreen刷新图像;4. 删除图片对象:在MM_EXIT和MM_KILL事件中调用DelMoreImage删除图片对象。关于API调用的详细情况请参阅More API使用说明书。基于MoreMfw的应用开发简介在生成新项目时选择“基于MoreMfw”可以生成一个基于MoreMfw应用程序的模板。基于MoreMfw的应用程序一般用于状态机相对比较复杂的应用程序开发,或者C+语言版本的应用程序(如Symbian应用程序)或者Java版本的应用程序(如Midlet)的移植。Mfw提供了一套完整的多窗口应用解决方案。应用程序的核心是窗口链,窗口链构成了应用的所有界面,是应用程序状态切换的载体,同时也是应用程序数据保存的载体。在MoreMfw的程序模板中有两个.c文件,一个是和项目名一样的.c文件(如 test.c),另一个是MainScreen.c。test.c是中的appStart函数是Mfw应用程序的入口,在AppStart中必须调用appendScreen接口添加应用程序的第一个窗口,在模板中是MainScreen。MainScreen.c是应用的第一个窗口,在该窗口的事件处理函数中可以创建更多的窗口并通过appendScreen函数添加到窗口链中。在窗口中添加控件在窗口的构造函数或者其他处理函数中向窗口中添加控件,调用appendControl或者appendActiveControl接口向窗口中添加自己想要的控件,如:this-button_menu = new MButton(MRect(5,294,46,22),CTRL_BUTTON_MENU,选项);appendControl(this-button_menu);这两条语句在窗口的(5,594)坐标上添加了一个大小为(46,22)的按钮,该按钮的id是CTRL_BUTTON_MENU,按钮上显示的文字是“选项”。自定义窗口自定义窗口通过继承MScreen类实现,类似MainScreen,在自定义的窗口类里面,通过改写基类的事件处理函数逻辑实现特定窗口特定的操作模式和数据处理,也可以添加新的变量和处理函数。窗口类中可以继承的事件处理函数有很多,大部分对应于MM_START等事件,例如: onSysEvent:系统事件函数,对应MM_START、MM_SHOW、MM_EXIT等 Paint函数:窗口绘制函数,对应于MM_PAINT事件 onKeyPressed、onKeyReleased:按键处理函数,对应于MM_KEY事件 pointerPressed、pointerReleased、pointerDragged:触笔处理函数,对应于MM_PEN控件和窗口的交互控件和窗口的交互通过控件事件处理函数完成:virtualint onCtrlEvent(int ctrl_id, int msg_id);控件处理的所有事件都会通过这个函数通知到窗口,如按钮的按下事件和弹起事件。列表的选择事件等等。可以通过ctrl_id和msg_id发送事件的控件和所处理的事件。自定义控件自定义控件通过继承MC

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论