CN100501670C - 将移动信息设备描述移植到紧凑型虚拟机平台上的方法 - Google Patents
将移动信息设备描述移植到紧凑型虚拟机平台上的方法 Download PDFInfo
- Publication number
- CN100501670C CN100501670C CNB2007101879798A CN200710187979A CN100501670C CN 100501670 C CN100501670 C CN 100501670C CN B2007101879798 A CNB2007101879798 A CN B2007101879798A CN 200710187979 A CN200710187979 A CN 200710187979A CN 100501670 C CN100501670 C CN 100501670C
- Authority
- CN
- China
- Prior art keywords
- mobile information
- incident
- virtual machine
- event
- device profile
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Abstract
本发明公开了一种将移动信息设备描述移植到紧凑型虚拟机平台上的方法,包括:MIDLet窗体控件接收来自CVM事件队列的CVM事件,该事件为CVM刷新事件时,调用CVM窗体控件的事件处理函数将缓冲区的内容显示到显示设备上,否则,将其转化为MIDP事件发送到MIDP事件处理队列中,MIDP事件处理线程从MIDP事件处理队列中获取所述MIDP事件,若该事件为MIDP刷新事件,则调用CVM窗体控件向CVM事件队列中发送CVM刷新事件,否则,将该事件发送给Java层的相应控件进行处理。本发明使得基于MIDP接口实现的Java应用程序能够在CVM平台上运行,弥补目前基于CVM平台的应用程序不足的问题。
Description
技术领域
本发明涉及Java虚拟机技术,具体涉及一种将MIDP(mobile informationdevice profile,移动信息设备描述)移植到CVM(compact virtual machine,紧凑型虚拟机)平台上的方法。
背景技术
J2ME(Java 2 Platform Micro Edition,Java 2平台微型版)主要针对手机、机顶盒等消费类电器和嵌入式电器设备市场。当前,J2ME提供2个标准的configurations(配置)。一个是被手机、PDAs(Personal Digital Assistants,个人数字助理)等其它手持设备广泛采用的CLDC(Connected Limited DeviceConfiguration,连接受限设备配置),另一个是被家用电器、机顶盒和网络电视等功能更强大的设备采用的CDC(Connected Device Configuration,连接设备配置)。J2ME同时也提供了若干标准Profile(描述),它们运行在Configuration(配置)之上,它们为上层的Java程序员提供APIs(Application ProgrammingInterface,应用程序接口),MIDP就是其中一个Profile(描述),它运行在CLDC之上。CVM平台是J2SE(Java 2 Platform Standard Edition,Java 2平台标准版)的裁减版,它的底层由CDC构成,上层可以由foundation profile(基础描述),Personal Basis Profile(个人基础描述),Personal Profile(个人描述)等profile(描述)构成。CVM平台主要面向功能强大的高端设备。KVM(Kilo VirtualMachine,嵌入式虚拟机)的底层由CLDC构成,上层由MIDP构成,它主要面向手机等手持设备上,具有非常丰富的应用程序。
MIDlet(MIDP应用)和JApplet(Java小应用程序)类似,它是MIDP的应用程序。MIDP的应用程序必须继承类MIDlet以便应用管理系统(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(String args[])方法,由它作为程序执行的起始点,并负责创建一个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虚拟机底层的事件,如按键消息等;二是来自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。
综上所述,本发明通过在CVM平台上提供MIDP接口使得基于MIDP接口实现的Java应用程序能够在CVM平台上运行,实现了无需KVM就能在CVM平台上运行在手机等其它手持设备上广泛流行的游戏,弥补目前基于CVM平台的应用程序不足的问题,同时能够利用CVM的多窗体功能实现同时运行多个MIDLet程序,推进了CVM平台的商用化。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (6)
1、一种将移动信息设备描述移植到紧凑型虚拟机平台上的方法,其特征在于,包括步骤:
A、创建移动信息设备应用窗体控件,移动信息设备应用窗体控件继承紧凑型虚拟机窗体控件;
B、移动信息设备应用窗体控件接收来自紧凑型虚拟机事件队列的紧凑型虚拟机事件,该事件为紧凑型虚拟机刷新事件时,调用紧凑型虚拟机窗体控件的事件处理函数将缓冲区的内容显示到显示设备上,否则,将其转化为移动信息设备描述事件发送到移动信息设备描述事件处理队列中,执行下一步骤;
C、移动信息设备描述事件处理线程从移动信息设备描述事件处理队列中获取所述移动信息设备描述事件,若该事件为移动信息设备描述刷新事件,则调用紧凑型虚拟机窗体控件向紧凑型虚拟机事件队列中发送紧凑型虚拟机刷新事件,返回步骤B,否则,将该事件发送给相应的Java控件进行处理。
2、如权利要求1所述的方法,其特征在于,所述步骤C中,若移动信息设备描述事件处理线程判定所述移动信息设备描述事件为预设的特殊移动信息设备描述事件,则移动信息设备描述事件处理线程直接截获该移动信息设备描述事件,进行处理。
3、如权利要求2所述的方法,其特征在于,所述预设的特殊移动信息设备描述事件中包括退出虚拟机程序的热键的按键消息。
4、如权利要求1所述的方法,其特征在于,所述移动信息设备应用窗体控件调用紧凑型虚拟机窗体控件的事件处理函数将缓冲区的内容显示到显示设备上的具体过程为:
移动信息设备应用窗体控件调用紧凑型虚拟机窗体控件的刷新操作函数,紧凑型虚拟机窗体控件的刷新操作函数调用移动信息设备应用窗体控件的绘制函数将缓冲区的内容显示到显示设备上。
5、如权利要求1所述的方法,其特征在于,若Java控件在处理移动信息设备描述事件时引发了其它移动信息设备描述事件,则将该引发的移动信息设备描述事件发送到移动信息设备描述事件队列中,返回步骤C。
6、如权利要求1至5中任意一项所述的方法,其特征在于,所述移动信息设备描述事件包括来自虚拟机层的事件和来自移动信息设备描述层的事件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2007101879798A CN100501670C (zh) | 2007-11-19 | 2007-11-19 | 将移动信息设备描述移植到紧凑型虚拟机平台上的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2007101879798A CN100501670C (zh) | 2007-11-19 | 2007-11-19 | 将移动信息设备描述移植到紧凑型虚拟机平台上的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101158903A CN101158903A (zh) | 2008-04-09 |
CN100501670C true CN100501670C (zh) | 2009-06-17 |
Family
ID=39307014
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2007101879798A Expired - Fee Related CN100501670C (zh) | 2007-11-19 | 2007-11-19 | 将移动信息设备描述移植到紧凑型虚拟机平台上的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100501670C (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7896963B2 (en) | 2003-09-23 | 2011-03-01 | Hanqing Liu | Self-reducing, cold-bonded pellets |
-
2007
- 2007-11-19 CN CNB2007101879798A patent/CN100501670C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN101158903A (zh) | 2008-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021013158A1 (zh) | 显示方法及相关装置 | |
CN102479097B (zh) | 一种支持多级加载的安全嵌入式操作系统 | |
US11722860B2 (en) | Messaging system interacting with dynamic extension app | |
EP2680123A2 (en) | Method and Device of Task Processing of One Screen and Multi-Foreground | |
EP3232699B1 (en) | Synchronous operation method and system for short message data | |
WO2013042921A1 (en) | Apparatus and method for running application in mobile terminal | |
CN101968745A (zh) | 一种移动终端应用程序的开发系统和方法 | |
CN103488371A (zh) | 一种在移动终端上制作动画的方法及移动终端 | |
WO2011020379A1 (zh) | 基于手机终端的显示图层的切换方法和装置 | |
CN102637127A (zh) | 一种控制鼠标模块的方法及电子设备 | |
CN104735271A (zh) | 一种智能多媒体电话终端处理语音业务的方法及终端 | |
CN101483694B (zh) | 矢量动画播放控制方法及装置 | |
CN102904925B (zh) | 一种基于三屏互动的跨平台widget中间件系统 | |
CN101339508B (zh) | 一种Java2微型版应用的运行方法和装置 | |
CN105653246A (zh) | 一种在Android系统中横向列表的实现方法及装置 | |
CN100501670C (zh) | 将移动信息设备描述移植到紧凑型虚拟机平台上的方法 | |
CN110300047B (zh) | 一种动画播放方法、装置及存储介质 | |
CN102184076A (zh) | 一种针对java程序的移动终端输入控制方法和装置 | |
CN102567030A (zh) | 电视机用户交互界面实现方法及系统 | |
CN103019748A (zh) | Linux下本地应用程序嵌入桌面窗体的方法及系统 | |
CN103870280B (zh) | 基于flex与jsp的网页无缝结合处理方法 | |
CN102999371A (zh) | 基于Lua脚本的人机界面开发方法及系统 | |
CN114647390A (zh) | 一种增强的屏幕共享方法和系统、电子设备 | |
CN107105347A (zh) | 运用div技术开发WEBOS智能电视前端的方法 | |
US10929112B1 (en) | Conversion of remote application dialogs to native mobile controls |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090617 Termination date: 20161119 |