在Android系统上运行J2me应用程序的方法及设备技术方案

技术编号:12621551 阅读:84 留言:0更新日期:2015-12-30 19:15
本发明专利技术提供一种在Android系统上运行J2me应用程序的方法及设备,该方法包括:在Android系统上启动Android应用之后,启动J2me虚拟机运行相应的J2me应用程序;当所述J2me应用程序需要调用图形口时,通过所述J2me虚拟机调用所述Android应用的Java本地接口;通过所述Java本地接口调用所述Android应用的图形应用程序接口,并将所述J2me应用程序中的图形绘制并渲染到所述Android应用提供的屏幕窗口中,实现J2me应用在Android系统上正常运行。

【技术实现步骤摘要】

本专利技术涉及计算机
,尤其涉及一种在Android(安卓)系统上运行J2me (Java2Platform Micro Edit1n, Java2平台微型版)应用的方法及设备。
技术介绍
J2me平台是SUN公司为了解决在不同移动终端上运行相同的Java应用而设计的针对于嵌入式、消费类电子产品而推出的开发平台,例如J2me可以为机顶盒、移动电话和PDA (Personal Digital Assistant),掌上电脑)之类的嵌入式消费电子设备提供的Java语言平台。随着智能机顶盒的不断发展,已经在逐步取代从前的Linux机顶盒,原来在Linux上运行的J2me游戏急需运行在Android机顶盒上。然而,目前网络上有成千上万个在传统Linux机顶盒上运行的游戏,这些游戏均是J2me基于QT( —种的跨平台C++图形用户界面应用程序开发框架)图形应用程序接口开发的,由于在Android机顶盒上缺少QT加速的组件,如果继续使用原来QT图形应用程序接口,会导致在Android机顶盒上运行游戏的速度会非常慢,从而影响用户体验。
技术实现思路
鉴于上述技术问题,本专利技术提供了一种克服上述技术问题或者至少部分地解决上述技术问题的在Android系统上运行J2me应用程序的方法及设备,实现J2me应用在Android系统上正常运行。依据本专利技术的一个方面,提供了一种在Android系统上运行J2me应用程序的方法,包括:在Android系统上启动Android应用之后,启动J2me虚拟机运行相应的J2me应用程序;当所述J2me应用程序需要调用图形口时,通过所述J2me虚拟机调用所述Android应用的Java本地接口 ;通过所述Java本地接口调用所述Android应用的图形应用程序接口,并将所述J2me应用程序中的图形绘制并渲染到所述Android应用提供的屏幕窗口中。可选地,所述方法还包括:当检测到下载所述Android应用的下载命令时,下载所述Android应用的安装包;在下载完成后,在所述Android系统上安装所述Android应用,并启动所述Android应用。可选地,所述通过所述Java本地接口调用所述Android应用的图形应用程序接口,并将所述J2me应用程序中的图形绘制并渲染到所述Android应用提供的屏幕窗口中的步骤包括:通过所述Java本地接口调用所述Android应用的Java层进行图形绘制,并存储至预设的图形缓冲区中;绘制结束后,调用刷新Refresh接口,通知渲染器Renderer渲染线程刷新所述屏幕窗口 ;在所述Renderer渲染线程在收到刷新的请求后,将预设的图形缓冲区中的图形渲染至开放式图形库OpenGL纹理中;将OpenGL纹理中的图形显示在所述屏幕窗口中,以形成用户最终看到的J2me应用程序运行时的画面。可选地,所述Android应用提供的屏幕窗口是OpenGL视图窗口 GLSurfaceview。可选地,所述方法还包括:在所述J2me应用程序运行时,接收按键事件;将接收到的所述按键事件发送给所述Android应用,存入队列并通知所述J2me虚拟机;通过所述J2me虚拟机获取所述按键事件,并发送给所述J2me应用程序,由所述J2me应用程序进行按键事件处理。依据本专利技术的另一个方面,还提供了一种在Android系统上运行J2me应用程序的设备,包括:启动t旲块,用于在Android系统上启动Android应用之后,启动J2me虚拟机运行相应的J2me应用程序;接口调用模块,用于当所述J2me应用程序需要调用图形口时,通过所述J2me虚拟机调用所述Android应用的Java本地接口 ;图形处理模块,用于通过所述Java本地接口调用所述Andro i d应用的图形应用程序接口,并将所述J2me应用程序中的图形绘制并渲染到所述Android应用提供的屏幕窗口中。可选地,所述设备还包括:下载检测模块,用于检测下载所述Android应用的下载命令;下载模块,用于在检测到下载所述Android应用的下载命令时,下载所述Android应用的安装包;安装模块,用于在下载完成后,在Android系统上安装所述Android应用的安装包,并启动所述Android应用。可选地,所述图形处理模块进一步用于通过所述Java本地接口调用所述Android应用的Java层进行图形绘制,并存储至预设的图形缓冲区中;绘制结束后,所述J2me应用程序调用刷新Refresh接口,通知渲染器Renderer渲染线程刷新所述屏幕窗口 ;所述Renderer渲染线程在收到刷新的请求后,将预设的图形缓冲区中的图形渲染至开放式图形库OpenGL纹理中;将OpenGL纹理中的图形显示在所述屏幕窗口中,以形成用户最终看到的J2me应用程序运行时的画面。可选地,所述Android应用提供的屏幕窗口是OpenGL视图窗口 GLSurfaceview。可选地,所述设备还包括:按键事件接收模块,用于在所述J2me应用程序运行时,接收按键事件;按键事件发送模块,用于将接收到的所述按键事件发送给所述Android应用,存入队列并通知所述J2me虚拟机;按键事件处理模块,用于通过所述J2me虚拟机获取所述按键事件,并发送给所述J2me应用程序,由所述J2me应用程序进行按键事件处理。本专利技术的有益效果是:在本专利技术的实施例中,Android应用启动J2me虚拟机运行相应的J2me应用程序,J2me应用程序运行在J2me虚拟机上,修改J2me虚拟机调用的图形接口,当J2me应用程序调用图形的接口时,调用到Android应用的JNI (Java本地调用接口),通过JNI调用回J2me应用程序的Java层进行绘图并渲染到屏幕窗口上,从而实现J2me应用在Android系统上正常运行。【附图说明】图1表示本专利技术的实施例中在Android系统上运行J2me应用程序的方法的流程图之一;图2表示本专利技术的实施例中J2me应用程序运行环境的示意图;图3表示本专利技术的实施例中图形绘制的时序图;图4表示本专利技术的实施例中在Android系统上运行J2me应用程序的方法的流程图之二 ;图5表示本专利技术的实施例在Android系统上运行J2me应用程序的方法的流程图之二 ;图6表示本专利技术的实施例中J2me游戏运行的流程图;以及图7表示本专利技术的实施例中在Android系统上运行J2me应用程序的设备的框图。【具体实施方式】下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。如图1所示,为本专利技术的实施例中在Android系统上运行J2me应用程序的方法,包括如下步骤:步骤S101、在Android系统上启动Android应用之后,启动J2me虚拟机运行相应的J2me应用程序。其中,Android(安卓)系统是一个以Linux为基础的开放源代码的电子设备操作系统,其中电子设备可以是机顶盒、移动电话、平板电脑等设备。Android应用(APP)可以是在本文档来自技高网...

【技术保护点】
一种在Android系统上运行J2me应用程序的方法,其特征在于,包括:在Android系统上启动Android应用之后,启动J2me虚拟机运行相应的J2me应用程序;当所述J2me应用程序需要调用图形口时,通过所述J2me虚拟机调用所述Android应用的Java本地接口;通过所述Java本地接口调用所述Android应用的图形应用程序接口,并将所述J2me应用程序中的图形绘制并渲染到所述Android应用提供的屏幕窗口中。

【技术特征摘要】

【专利技术属性】
技术研发人员:陈万琛
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1