j2me程序 自动升级!!!
j2me应用程序写好后,下载到手机上运行,怎样让用户自动升级这个应用程序了。
升级过程中,是否有缓冲问题:新版本的jar包已把原来的覆盖了,但由于缓冲,程序运行时还是用的原版本。
有什么好方法实现软件自动升级吗?做过的朋友一起聊聊吧,正在学习中。。。。。。
热爱java的朋友
问题点数:100、回复次数:15Top
1 楼cuilichen(fjfjfjfj)回复于 2005-04-01 17:33:31 得分 0
这里的自动升级是覆盖原有的程序吗?
我们曾经遇到的自动升级的做法不是很彻底,
当时的解决办法是升级资源文件,比如一些升级的图片,保存在RMS里面等。
但是没有做到程序本身的升级。
Top
2 楼cuilichen(fjfjfjfj)回复于 2005-04-01 17:37:51 得分 35
方法是在程序启动的时候,
连接网站,检测是否有可升级的资源,
如果有,就下载,保存。并且删除原有的,没用了的资源。
程序从RMS中读取资源。Top
3 楼thincterii(thincterii)回复于 2005-04-01 17:40:57 得分 35
在j2me中,现在还是没有办法更换suite里的某一个midlet,更不用说更新某一个midlet中的模块了。
如cuilichen(fjfjfjfj)所说,资源还是可以更新的。要是想更新程序,只能是下在新的jar包重新安装了Top
4 楼ltc79(大大)回复于 2005-04-01 17:49:17 得分 0
是的,现在我做的升级是覆盖原版本的jar整个包。要是象cuilichen(fjfjfjfj) 说的那样就好了。但是怎样删掉原来终端上的那个原版本了?而且每个型号手机又有差异。Top
5 楼thincterii(thincterii)回复于 2005-04-01 17:58:20 得分 0
如果是升级资源,是很简单的事。新的jar安装的时候,只要你的jar与原来的是同名的,仅仅是版本号不同,应该会自动删掉原有的东西,至于具体过程,可能不同手机会有差异。Top
6 楼cuilichen(fjfjfjfj)回复于 2005-04-01 18:01:31 得分 0
哦,我说的删除只是删除RMS中的没有用的资源。
jar中的资源还是没有办法的。
当然,我们也可以把原来在jar中的资源文件放在服务器上面,
运行时,再下载,保存到RMS。
这样在jar中就不会有没有用的资源了。Top
7 楼thincterii(thincterii)回复于 2005-04-01 18:06:10 得分 0
不要坑害消费者Top
8 楼cuilichen(fjfjfjfj)回复于 2005-04-01 18:26:16 得分 0
呵呵,这是个问题。
但是很多时候,消费者如果再次下载,
比程序升级还要费钱呢。
我们可以给消费者一个选择,
如果他们选择“否”那么就不在下载了。Top
9 楼cuilichen(fjfjfjfj)回复于 2005-04-01 18:28:49 得分 0
当时我们做的是一个网络游戏,下载一些资源到手机上面,会减少流量的,对消费者有益无害。
Top
10 楼Mailbomb(网络咖啡http://blog.csdn.net/mailbomb)回复于 2005-04-02 10:46:11 得分 10
MIDP2.0里面,MIDlet的platformRequest方法可以用来升级,但是不能自动.Top
11 楼ltc79(大大)回复于 2005-04-04 09:06:15 得分 0
我准备在MIDlet的startApp()里面写个自动升级的程序。用户一启动midlet,就会去联一次服务器,检测一下服务器上的版本是否比现在用的高,如果是的话,就下载最新的版本!这样是可以了,但是下载的jar把原来的覆盖后,用户如不手动清除缓冲的话,运行的还是原来的版本!不知道有没有让用户能够清除缓冲的办法?Top
12 楼softjet(softjet)回复于 2005-04-04 09:09:56 得分 5
gzTop
13 楼miaoliujun(傲龙)回复于 2005-04-04 12:01:27 得分 10
你有一个引导程序,这个程序是用来判断有没有需要升级的,没有就启动需要做的jar
有就升级,结束后再运行Top
14 楼ltc79(大大)回复于 2005-04-04 13:14:59 得分 0
楼上各位:如果不用覆盖原jar包的升级方法的话,还有好的方法吗?能够象pc上跑的应用程序那样就好了!
Top
15 楼prok(换换口味)回复于 2005-04-04 14:08:41 得分 5
不覆盖得办法好像好像没有吧。。。Top




