具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明的具体实施例进行详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
本发明实施例提供一种动态安装Java应用的终端及其动态安装Java应用的方法。其中,所述终端不仅可以是手机、PDA,还可以是所有支持Java的移动终端设备,如:机顶盒、GPS、游戏机等,并且,所述终端支持Java虚拟机(用于执行Java程序)、支持空中下载OTA、支持Java应用的安装以及支持Java应用管理器(用于对Java应用的管理)。
为了便于Java应用的管理及Java应用的安装,本发明实施例将Java应用安装到EFS的Java目录下。首先在指定的EFS的Java目录下,进行EFS的目录结构配置。此Java目录在EFS上的表现可如图1所示。图1中,root为EFS的相对根目录,java为EFS上的java目录,java目录的子目录app下存储的是通过OTA下载或PC后台安装的Java应用。java目录的子目录pre下存储的是安装的Java应用。本实施例的动态安装Java应用,可以在pre目录下完成。
实施例一
本实施例提供一种动态安装Java应用的方法及实现该方法的终端。所述动态安装Java应用的方法是在EFS上预装Jad文件,通过Jad文件来访问和下载Jar文件,从而可以达到Java应用的执行。
如图2所示,本实施例的方法包括如下步骤:
步骤201,在显示界面上显示Java应用列表。
该Java应用列表是根据预装的配置文件中的Java应用名称来进行显示的。该配置文件在终端出厂设置时就在pre目录下安装完成。本实施例中,在安装配置文件的同时还安装Jad文件。
所述Jad文件为标准格式文件,文件格式可如表1所示。
配置文件是为了记录pre目录下所有安装Java应用的配置信息,并使Java应用管理器(Jam)显示Java应用名称给终端用户。本实施例中,配置文件采用自定义格式,例如可以定义如表2所示的格式。
表1.Jad文件格式
表2.配置文件格式
表2所示的配置文件格式中,每个Java应用将对应一行(或一段),每行中Java应用的内容以逗号来区分(即每行中以逗号来间隔Java应用的各个属性)。表2所示的每行Java应用中第一项为Java应用名称,第二项为Jad文件路径,第三项为Jar URL/Jar URL(Jad文件的URL路径或Jar文件的URL路径),第四项为Jar文件的路径。本实施例中,由于安装有Jad文件,因此每行中的前两项不能为空,第三项Jad URL或Jar URL可以为空;如果没有安装Jar文件,即不存在Jar文件路径,则第四项Jar文件路径为空,如果存在Jar文件路径,则第四项不为空。
上述配置文件中,如果某一行Java应用中第三项为Jad URL且为非空,则在后续步骤中根据第二项的Jad文件路径读取Jad失败时,可根据该第三项给出的URL地址下载Jad文件。如果该第三项为Jar URL,该Jar URL与对应Jad文件中的Jar URL可以保持一致,也可以不一致,如果配置文件中的Jar URL与对应Jad文件中Jar文件的URL地址不一致,则可按照预定的优先级,先根据Jad文件中的JarURL地址下载Jar文件,在根据Jad文件中的Jar URL地址下载Jar文件失败时,再根据配置文件中的Jar URL地址下载Jar文件。
当然,本实施例中,也可以在配置文件的每行Java应用中定义5项属性(内容),各项之间以逗号间隔,如分别为:Java应用名称,Jad文件路径,Jad URL,Jar URL,Jar文件路径。
以表2为例,根据表2所示的配置文件信息可知,在对应的pre目录下,存放有demo1.jad和demo2.jad两个Jad文件。
另,在配置文件中,Java应用名称要与对应Jad文件中的MIDlet-Name的名称保持一致(如表2中的“doudizhu”)。如果在Jad文件中含有多个MIDlet(如MIDlet-1,MIDlet-2)而没有MIDlet-Name时,在配置文件中Java应用名称可取MIDlet-1的名称(如表1中的demo1)。
在Java应用的动态安装过程中,所述配置文件可进行动态扩展。
步骤202,接收到对Java应用的选择。
本步骤中用户从终端界面上Java应用名称列表中选择待安装的Java应用,终端接收对Java应用的选择。
步骤203,根据配置文件进行Jar文件的下载与安装,并相应修改配置文件。
从所述显示的Java应用名称列表中选择待安装的Java应用,并在所述配置文件中不存在相应Jar文件路径时,通过访问配置文件或Jad文件中Jar文件的URL路径,进行Jar文件的下载。下载完毕后修改配置文件,将Jad文件或Jar文件的路径填充到配置文件中,同时可进行Jar文件的安装。
如图3所示,该步骤具体又包括:
步骤301,打开pre目录下的配置文件。
步骤302,解析所述配置文件,根据配置文件每行的第四项判断jar文件路径是否存在。如果存在Jar路径,则执行步骤305,否则执行步骤303。
步骤303,根据配置文件中的Jad文件的路径访问Jad文件或配置文件中的Jar URL路径,启动空中下载OTA程序,进行Jar文件的下载,下载完后进行Jar文件的安装。
下载的Jar文件可以存放在EFS上,也可存放在SD卡上,或其它相关联的移动储存设备上,可根据用户需要灵活选择。
步骤305,直接运行该Jar文件对应的Java应用。
为了在下次访问Java应用时,直接运行Java应用而无需重新下载与安装,本实施例的Java应用与装流程还可包括如下步骤:
步骤304,修改配置文件,将下载的Jar路径写入到配置文件中。
Jar文件下载完成后,修改所述配置文件,将下载的Jar文件的路径填充到所述配置文件中,这样用户再次访问此Java应用的链接时,由于在配置文件中存在Jar路径,因此可直接进行步骤305,运行此Java应用。
Java应用安装完毕后,用户可通过Java应用列表界面选择更新Java应用,此时更新的是下载的Jar文件,Jad文件和配置文件仍然保留。通过重新下载与安装新的Jar文件,来实现Java应用的更新(升级)。
并且,在Java应用安装完毕后,用户还可通过Java应用列表界面选择删除,来删除此Java应用,但此时删除的是所下载的Jar文件,Jad文件和配置文件仍然保留。
另外,用户还可以通过Java应用列表界面或在Java目录中选择移动Jar文件到指定的位置,此时配置文件中Jar文件路径相应修改。
无论是Jar文件被删除还是移动后,配置文件都会进行相应的修改,以保证再次访问Java应用时,可以根据配置文件执行正确的操作,如能正确地进行重新下载或Java应用的直接执行。
如果终端具有短信、彩信或Email功能,上述下载的Jar文件还可以通过短信、彩信或Email转发给其他终端,这样其他终端就可以基于接收的Jar文件填写配置文件并执行安装。
如上的Java应用的动态安装方法可以带来如下有益效果:
1)可以有效的节省终端的EFS空间(或Flash空间);
2)使运营商和制造商更多的安装Java应用,丰富其设备内容;
3)安装应用可进行升级和删除,但删除的是其下载的Jar文件,Jad文件还保留在EFS上,用户可以多次进行操作,大大提高了用户体验;
4)降低设备制造的风险。
本实施例中,如图6所示,实现上述方法的终端包括:显示单元(未图示)、选择单元601、下载单元602、安装单元603、修改单元605、存储单元606,编辑单元607,其中:
显示单元用于在终端界面上显示Java应用名称列表;
下载单元602,用于在预置的配置文件中不存在相应Jar文件路径时,根据配置文件的Jad文件中Jar文件的URL路径下载Jar文件;
安装单元603用于将下载的所述Jar文件进行安装。
修改单元605用于修改所述配置文件,将下载的Jar文件的路径写入到所述配置文件中。
存储单元606用于存储所述配置文件,进一步地也可以存储Jar文件。
编辑单元607用于根据终端界面上显示的Java应用名称列表选择删除下载的所述Jar文件,并相应修改所述配置文件。
选择单元601用于从终端界面上Java应用名称列表中选择待处理的Java应用。
实施例二
本实施例提供另一种终端的动态安装Java应用的方法,可只安装配置文件,在配置文件中记录有URL路径(如Jad文件的URL路径和/或Jar文件的URL路径),通过访问此URL路径来访问和下载Jad文件和/或Jar文件,从而实现Java应用的动态安装。
如图4所示,本实施例的方法包括如下步骤:
步骤401,在终端界面上显示Java应用的列表菜单。
该Java应用列表是根据安装的配置文件中的Java应用名称来进行显示的,所述配置文件在终端出厂设置时就在pre目录下安装完成。在本实施例中,在终端出厂设置安装配置文件时,在配置文件中预设置Jad文件的URL地址和/或Jar文件的URL地址。
所述配置文件采用自定义格式,例如可以定义如前面表2所示的格式,也可以如下面表3所示的格式。表3所示的文件格式中,每个Java应用的配置信息对应一行。每一行中,第一项为Java应用名称,第二项为Jad文件路径,第三项为Jad URL,第四项为Jar URL,第五项为Jar文件的路径。
表3.配置文件格式
使用表2所示的配置文件格式时,如果没有安装Java应用的Jad文件和Jar文件而只安装了URL路径(Jad文件的URL路径和/或Jar文件的URL路径),则配置文件的该Java应用对应的那一行中,第二项和第四项为空,第一项不能为空,第三项(Jad文件URL或Jar文件的URL)也不能为空。
使用表3所示的配置文件格式时,如果没有安装Java应用(如表3“doudizhu”)的Jad文件和Jar文件而只安装了URL路径(Jad文件的URL路径和/或Jar文件的URL路径),则如表3中第1行所示,“doudizhu”对应的第二项和第五项为空,第一项不能为空,第三项(Jad文件URL)和第四项(Jar文件的URL)至少有一项不能为空。
在根据配置文件显示Java应用名称时,以表3为例,表3所示的配置文件中记录有两个Java应用,在终端的显示屏幕的Java应用列表菜单上行相应显示该两个Java应用的名称。
步骤402,接收到对Java应用的选择。
本步骤中用户从终端界面上Java应用名称列表中选择待安装的Java应用,终端接收对Java应用的选择。
步骤403,根据URL地址进行Jad文件或Jar文件的下载,并相应修改配置文件。
从所述显示的Java应用的名称列表中选择待安装的Java应用,并通过访问配置文件中Jad文件或Jar文件的URL路径,进行Jad文件或Jar文件的下载。下载完毕后,将Jad文件或Jar文件的路径填充到配置文件中。
如图5所示,该步骤具体包括:
步骤501,打开pre目录下的配置文件。
步骤502,解析所述配置文件,判断配置文件中对应Java应用的jar文件路径是否存在。如果存在Jar路径,则执行步骤505,否则执行步骤503。
步骤503,访问配置文件中的Jad URL路径和/或Jar URL路径,启动空中下载OTA程序,进行Jad和/或Jar文件的下载。
具体的,如果配置文件中仅存在Jad URL,则访问该Jad URL,下载Jad文件,并修改配置文件。此时,由于还不存在Jar文件,因此还需要基于下载的Jad文件中的Jar URL下载Jar文件。在下载Jar文件完毕后安装所述Jar文件。
如果配置文件中仅存在Jar URL,则基于该Jar URL下载Jar文件并进行安装。由于Jad文件为Java应用描述文件,因此虽然没有Jad文件,也并不影响Java应用的执行。
如果配置文件中存在Jad URL和Jar URL,则基于该Jad URL和Jar URL下载Jad文件和Jar文件,并于下载Jar文件完毕后安装所述Jar文件。
下载的Jar文件和Jad文件可以存放在EFS上,也可存放在SD卡上,或其它相关联的移动储存设备上,可根据用户需要灵活选择。
步骤504,修改配置文件,将下载的Jar路径写入到配置文件中。
安装Java应用完成后,修改所述配置文件,将下载的Jar文件的路径及Jad文件的路径填充到所述配置文件中(如果仅下载了Jar文件,则仅将Jar文件的路径写入配置文件中),这样用户再次访问此Java应用的链接时,由于在配置文件中存在Jar路径,因此可直接运行此Java应用。
步骤505,直接运行该Jar文件对应的Java应用。
安装完毕Java应用后,用户可通过Java应用列表界面选择更新Java应用,此时更新的是下载的文件(Jar文件,也可以包括Jad文件)。通过重新下载与安装新的Jar文件,来实现Java应用的更新(升级)。
并且,在Java应用安装完毕后,用户还可通过Java应用列表界面选择删除,来删除此Java应用,此时下载的文件将被删除,但配置文件仍然保留。
另外,用户还可以通过Java应用列表界面或在Java目录中选择移动Jar文件到指定的位置,此时配置文件中Jar文件路径相应修改。
无论是Jar文件被删除还是移动后,配置文件都会进行相应的修改,以保证再次访问Java应用时,可以根据配置文件执行正确的操作,如能正确地进行重新下载或Java应用的直接执行。
如果终端具有短信、彩信或Email功能,上述下载的Jad和/或Jar文件还可以通过短信、彩信或Email转发给其他终端,这样其他终端就可以基于接收的Jad或Jar文件填写配置文件并进行Jar文件的下载或安装执行。
如上Java应用的动态安装方法可以带来如下有益效果:
1)可以有效的节省终端的EFS空间(或Flash空间);
2)使运营商和制造商更多的安装Java应用,丰富其设备内容;
3)安装应用可进行升级和删除,删除的是其下载的文件(Jar文件和Jar文件),安装Java应用配置文件还保留在终端上,使用户可以多次进行操作,大大提高了用户体验;
4)降低设备制造的风险。
本实施例中,如图7所示,实现上述方法的终端包括:显示单元(未图示)、选择单元701、下载单元702、安装单元703、修改单元705、存储单元706以及编辑单元707,其中:
显示单元用于在终端界面上显示Java应用名称列表;
选择单元701用于从终端界面上Java应用名称列表中选择待处理的Java应用;
下载单元702用于根据配置文件中所述Jad文件的URL路径和/或Jar文件的URL路径,下载所述Java应用名称列表中选择的待安装Java应用的Jad文件和/或Jar文件。
安装单元703用于将下载的所述Jar文件进行安装。
修改单元705用于修改所述配置文件,将下载的Jar文件的路径写入到所述配置文件中。在配置文件中不存在Jar文件的URL及Jar文件路径时,所述下载单元先根据配置文件中Jad文件的URL下载Jad文件,再根据下载的Jad文件中Jar文件的URL路径下载Jar文件,修改单元还包括第二修改单元将下载的Jad文件的路径写入到所述配置文件中。
存储单元706用于存储所述配置文件,进一步地也可以存储Jar文件和/或Jad文件。
编辑单元707根据终端界面上显示的Java应用名称列表选择删除下载的所述Jad和/Jar文件,并相应修改所述配置文件。
本领域普通技术人员可以理解实现上述实施例1和实施例2的方法中的全部或部分步骤可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读取存储介质中,比如ROM/RAM、磁碟、光盘等。其中,当上述程序被机器,如移动终端加载且执行时,此机器变成用以参与本发明的***或装置。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。