将移动信息设备描述移植到紧凑型虚拟机平台上的方法

文档序号:6614453阅读:186来源:国知局
专利名称:将移动信息设备描述移植到紧凑型虚拟机平台上的方法
技术领域
本发明涉及Java虚拟机技术,具体涉及一种将MIDP ( mobile information device profile,移动信息设备描述)移植到CVM ( compact virtual machine,紧 凑型虚拟机)平台上的方法。
背景技术
J2ME ( Java 2 Platform Micro Edition, Java 2平台微型版)主要针对手机、 机顶盒等消费类电器和嵌入式电器设备市场。当前,J2ME提供2个标准的 configurations (酉己置)。 一个是^皮手才几、PDAs (Personal Digital Assistants, 个 人数字助理)等其它手持设备广泛采用的CLDC (Connected Limited Device Configuration,连接受限设备配置),另一个是被家用电器、机顶盒和网络电视 等功能更强大的设备采用的CDC (Connected Device Configuration,连接设备 配置)。J2ME同时也提供了若干标准Profile (描述),它们运行在Configuration(配置)之上,它们为上层的Java程序员提供APIs ( Application Programming Interface,应用程序接口 ), MIDP就是其中 一个Profile(描述),它运行在CLDC 之上。CVM平台是J2SE ( Java 2 Platform Standard Edition, Java 2平台标准版) 的裁减版,它的底层由CDC构成,上层可以由foundation profile (基础描述), Personal Basis Profile (个人基础描述),Personal Profile (个人描述)等profile(描述)构成。CVM平台主要面向功能强大的高端设备。KVM (Kilo Virtual Machine , 嵌入式虚拟机)的底层由CLDC构成,上层由MIDP构成,它主要 面向手机等手持设备上,具有非常丰富的应用程序。MIDlet ( MIDP应用)和JApplet ( Java小应用程序)类似,它是MIDP的 应用程序。MIDP的应用程序必须继^^类MIDlet以1更应用管理系统(AMS)
能够控制MIDlet,并对它的生命周期进行管理。这个类的方法允许应用管理系 统创建、启动、暂停和销毁一个MIDlet。现有技术中,CVM平台上无法提供MIDP接口 ,即在CVM平台上无法运 行在手机等其它手持设备上广泛流行的游戏等基于MIDP接口实现的Java应用 程序。发明内容本发明提供一种将MIDP移植到CVM平台上的方法,用以解决现有技术 中CVM平台上无法提供MIDP接口 ,即在CVM平台上无法运行基于MIDP 接口实现的Java应用程序的问题。为解决上述技术问题,本发明采用以下技术方案一种将移动信息设备描述移植到紧凑型虚拟机平台上的方法,包括步骤A、 创建移动信息设备描述应用MIDLet窗体控件,MIDLet窗体控件继承 紧凑型虚拟机CVM窗体控件的功能;B、 MIDLet窗体控件接收来自CVM事件队列的CVM事件,该事件为CVM 刷新事件时,调用CVM窗体控件的事件处理函数将緩冲区的内容显示到显示 设备上,否则,将其转化为MIDP事件发送到MIDP事件处理队列中,执行下 一步骤;C、 MIDP事件处理线程从MIDP事件处理队列中获取所述MIDP事件, 若该事件为MIDP刷新事件,则调用CVM窗体控件向CVM事件队列中发送 CVM刷新事件,返回步骤B,否则,将该事件发送给Java层的相应控件进行 处理。所述步骤C中,若MIDP事件处理线程判定所述MIDP事件为预设的特殊 MIDP事件,则MIDP事件处理线程直接截获该MIDP事件,进行处理。 所述预设的特殊MIDP事件中包括退出虚拟机程序的热键的按键消息。 所述MIDLet窗体控件调用CVM窗体控件的事件处理函数将緩沖区的内
容显示到显示设备上的具体过程为MIDLet窗体控件调用CVM窗体控件的刷新操作函数,CVM窗体控件的 刷新操作函数调用MIDLet窗体控件的绘制函数将緩沖区的内容显示到显示设 备上。若Java层控件在处理MIDP事件时引发了其它MIDP事件,则将该引发的 MIDP事件发送到MIDP事件队列中,返回步骤C。所述MIDP事件包括来自虛拟机层的事件和来自MIDP层的事件。 由于本发明采用了以上技术方案,因此具有以下有益效果 本发明所述技术方案通过在CVM平台上提供MIDP接口使得基于MIDP 接口实现的Java应用程序能够在CVM平台上运行,实现了无需KVM就能在 CVM平台上运行在手机等其它手持设备上广泛流行的游戏,弥补目前基于 CVM平台的应用程序不足的问题,同时能够利用CVM的多窗体功能实现同时 运行多个MIDLet程序,推进了 CVM平台的商用化。


图1为本发明将MIDP移植到CVM平台上的方法的流程图。
具体实施方式
本发明通过在CVM平台上提供MIDP接口使得基于MIDP接口实现的 Java应用程序能够在CVM平台上运行,从而弥补了目前基于CVM平台的应 用程序不足的问题,进而推进了 CVM平台的商用化。下面将结合附图对本发明的具体实现过程进行详细的阐述。请参阅图1,该图为本发明将MIDP移植到CVM平台上的方法的流程图, 其主要实现过程如下步骤10、用类MidletRunner取代原来的应用管理系统,在该类中定义了 static void main(Stringargs[])方法,由它作为程序执行的起始点,并负责创建一
个MIDLet窗体控件,该MIDLet窗体控件继承了 CVM窗体控件,用于接收 所有来自CVM事件队列的CVM事件。MIDLet窗体控件继承了 CVM窗体控件后,既覆盖(override) 了其父类 CVM窗体控件的事件处理方法。同时又覆盖(override) 了其父类CVM窗体 控件的图像绘制(paint)函数。步骤11、 MIDLet窗体控件接收来自CVM事件队列的CVM事件,判断 该事件是否为CVM的刷新事件,若是,执行步骤12,否则,执行步骤13。步骤12、 MIDLet窗体控件调用CVM窗体控件的刷新(repaint)操作函 数,CVM窗体控件的刷新(repaint)操作函数调用MIDLet窗体控件的绘制 (paint)函数将緩沖区的内容绘制到显示设备上,流程结束。步骤13、 MIDLet窗体控件将该CVM事件转化为MIDP事件后,将其发 送到MIDP事件处理队列中。本实施例中,MIDP事件主要来自两个方面, 一是来自CVM虚拟机底层 的事件,如按4建消息等;二是来自MIDP层的事件,如屏幕刷新等事件。不管 事件源于哪里,MIDP用 一个事件线程来处理所有的事件,除了事件线程,MIDP 也有一个事件队列。不管事件源于哪里,MIDP事件队列保存所有等待处理的 事件。事件线程依次地处理来自事件队列中的事件,直到队列为空。步骤14、 MIDP事件处理线程从MIDP事件处理队列中获取MIDP事件。步骤15、 MIDP事件处理线程判断获取到的MIDP事件是否为预设的特殊 MIDP事件,如退出虚拟机程序的热键的按键消息等,若是,执行步骤16,否 则,执行步骤17。步骤16、 MIDP事件处理线程截取并处理该特殊MIDP事件,流程结束。 步骤17、MIDP事件处理线程判断所述MIDP事件是否为MIDP刷新事件,若是,执行步骤18,否则,执行步骤19。步骤18、MIDP事件处理线程调用CVM窗体控件的刷新操作函数向CVM事件队列当中发送一个刷新事件,返回步骤11。 步骤19、 MIDP事件处理线程将MIDP事件发送到Java层的相应控件上, 由Java控件来处该MIDP事件,其本质就是MIDP事件处理线程调用各个Java 控件定义的回调方法。步骤20、判断Java层控件在处理MIDP事件时引发了其它MIDP事件, 比如当文本输入框控件接收到按键消息时,可能会产生MIDP刷新事件等,若 是,则执行步骤21,否则,流程结束。步骤21、 Java层控件将该引发的MIDP事件发送到MIDP事件队列中,返 回步骤14。口实现的Java应用程序能够在CVM平台上运行,实现了无需KVM就能在 CVM平台上运行在手机等其它手持设备上广泛流行的游戏,弥补目前基于 CVM平台的应用程序不足的问题,同时能够利用CVM的多窗体功能实现同时 运行多个MIDLet程序,推进了 CVM平台的商用化。明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及 其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
权利要求
1、一种将移动信息设备描述移植到紧凑型虚拟机平台上的方法,其特征在于,包括步骤A、创建移动信息设备应用窗体控件,移动信息设备应用窗体控件继承紧凑型虚拟机窗体控件;B、移动信息设备应用窗体控件接收来自紧凑型虚拟机事件队列的紧凑型虚拟机事件,该事件为紧凑型虚拟机刷新事件时,调用紧凑型虚拟机窗体控件的事件处理函数将缓冲区的内容显示到显示设备上,否则,将其转化为移动信息设备描述事件发送到移动信息设备描述事件处理队列中,执行下一步骤;C、移动信息设备描述事件处理线程从移动信息设备描述事件处理队列中获取所述移动信息设备描述事件,若该事件为移动信息设备描述刷新事件,则调用紧凑型虚拟机窗体控件向紧凑型虚拟机事件队列中发送紧凑型虚拟机刷新事件,返回步骤B,否则,将该事件发送给Java层的相应控件进行处理。
2、 如权利要求l所述的方法,其特征在于,所述步骤C中,若移动信息 设备描述事件处理线程判定所述移动信息设备描述事件为预设的特殊移动信 息设备描述事件,则移动信息设备描述事件处理线程直接截获该移动信息设备 描述事件,进行处理。
3、 如权利要求2所述的方法,其特征在于,所述预设的特殊移动信息设 备描述事件中包括退出虚拟机程序的热键的按键消息。
4、 如权利要求l所述的方法,其特征在于,所述移动信息设备应用窗体 控件调用紧凑型虚拟机窗体控件的事件处理函数将緩冲区的内容显示到显示 设备上的具体过程为移动信息设备应用窗体控件调用紧凑型虚拟机窗体控件的刷新操作函数, 紧凑型虚拟机窗体控件的刷新操作函数调用移动信息设备应用窗体控件的绘 制函数将緩沖区的内容显示到显示设备上。
5、 如权利要求l所述的方法,其特征在于,若Java层控件在处理移动信 息设备描述事件时引发了其它移动信息设备描述事件,则将该引发的移动信息设备描述事件发送到移动信息设备描述事件队列中,返回步骤c。
6、如权利要求1至5中任意一项所述的方法,其特征在于,所述移动信 息设备描述事件包括来自虚拟机层的事件和来自移动信息设备描述层的事件。
全文摘要
本发明公开了一种将移动信息设备描述移植到紧凑型虚拟机平台上的方法,包括MIDLet窗体控件接收来自CVM事件队列的CVM事件,该事件为CVM刷新事件时,调用CVM窗体控件的事件处理函数将缓冲区的内容显示到显示设备上,否则,将其转化为MIDP事件发送到MIDP事件处理队列中,MIDP事件处理线程从MIDP事件处理队列中获取所述MIDP事件,若该事件为MIDP刷新事件,则调用CVM窗体控件向CVM事件队列中发送CVM刷新事件,否则,将该事件发送给Java层的相应控件进行处理。本发明使得基于MIDP接口实现的Java应用程序能够在CVM平台上运行,弥补目前基于CVM平台的应用程序不足的问题。
文档编号G06F9/44GK101158903SQ200710187979
公开日2008年4月9日 申请日期2007年11月19日 优先权日2007年11月19日
发明者斯彦维, 朱志伟, 金怡爱 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1