日期:2014-05-20  浏览次数:20643 次

使用NetBeans进行J2ME开发(二):把程序转移到手机上
使用NetBeans进行J2ME开发(二):把程序转移到手机上
Posted on 2007-07-19 11:47 海边沫沫 阅读(2903) 评论(15)  编辑  收藏 所属分类: NetBeans与J2ME 
  上一篇,我们见识了编写一个手机程序其实很简单。但是很多人大概不是很明白怎样把程序转移到手机上,不信你就试试,不管你是用数据线,还是用红外蓝牙,都无法把电脑上的程序弄到手机上运行,也没办法把别人手机上的游戏弄到自己的手机上运行(传输普通数据可以,就是程序不行)。我有一次就是看到别人的手机上有很多游戏,想转移过来,怎么试都不行。

  为什么会这样?这是因为Java程序在到手机上运行之前,必须经过一个安装过程,而这个安装过程,是通过你的手机的AMS(应用程序管理软件)完成的,而这个AMS只能从网上下载程序进行安装。明白了这个道理,那么再将程序转移到手机就简单多了,不就是要从网上下载吗?我们这里哪一位不是建网站的高手?搞一个Tomcat来就轻松搞定。我们甚至可以把建立一个手机程序下载网站作为创业之路。这样的下载服务器专业的叫发叫OTA服务器,OTA,就是Over The Air,是不是很直观,像手机这样的无线上网不就是通过空气来下载的吗?

  建立一个OTA服务器,首先要了解J2ME程序的结构,J2ME程序的项目生成以后,应该是由两个文件组成,一个.jar文件和一个.jad文件,.jar文件不用说了,自然是包含我们所有的java程序以及各种图片、音乐的资源文件;而.jad文件是一个文本文件,它包含了我们程序的描述信息。AMS在安装程序时,就是通过这个.jad文件来了解我们程序的一些信息的。在上一篇中,我们建立的项目保存目录为D:\Java\Projects\MyFirstMobileApplication,在这个目录的dist目录下面,可以看到两个文件:MyFirstMobileApplication.jar和MyFirstMobileApplication.jad

  打开Tomcat服务器,我们也懒得再专门建立一个Web应用程序,就使用Tomcat的默认应用程序好了,把上面的两个文件拷贝到Tomcat目录的webapps\ROOT目录下,然后,再在该目录下建立一个简单的WML文件download.wml,如下:
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"
"http://www.wapforum.org/DTD/wml_1.1.xml">

<wml>
<card title="welcome" id="main">
<p>下载软件:</p>
<p align="left"><a href="MyFirstMobileApplication.jad"></a></p>
</card>
</wml>


  编辑完这个wml文件后,我们还要检查一个东西,就是打开Tomcat目录下的conf\web.xml文件,看看其中有没有如下几行:
<mime-mapping>
        <extension>jad</extension>
        <mime-type>text/vnd.sun.j2me.app-descriptor</mime-type>
    </mime-mapping>
    <mime-mapping>
        <extension>jar</extension>
        <mime-type>application/java-archive</mime-type>
    </mime-mapping>


  如果没有,就要把它们加进去。不过一般最新版本的Tomcat都是有的。

  OK,下面就可以用手机来下载我们的程序了。不过请记住两点:
  1.手机上网是要钱的,比如我们这里,中国移动的价格是每下载1k收3分钱,不要小看啊,1M就是30元啊,看你有多少钱往水里扔。不过你也可以定制包月服务,5元钱10M或者20元50M,不过如果你真的每一个程序多下载到手机上测试的话,我想这包月也是不够的。
  2.你的服务器必须能够被访问,这说明你必须要有一个域名,还要租用服务器,这也是要钱的啊。而使用模拟器在自己的机器上访问,则只接访问http://localhost:8080/download.wml就可以了。

  因此,我们还是使用模拟器来演示怎么安装软件。MobilePack 5.5.1自带的手机模拟器程序叫emulator,是WTK2.5.1的组件之一。在NetBeans IDE中使用它运行项目很简单,但是要单独打开这个软件就有点麻烦了。在NetBeans的安装目录中,在mobility7.3\emulators-inst目录下有一个wtk251-win.zip文件,把这个文件解压缩到wtk251-win文件夹中,在wtk251-win\emulator\bin目录中可以看到下面这些文件:
  

  我们运行其中的ktoolbar.exe,应用程序的界面如下:
  

  注意,这个时候“项目”菜单是灰色的,我们需要随便打开一个项目,项目菜单才能够使用。在这个菜单中选择“通过OTA运行”,如下图:
  

  弹出模拟器,下面的操作都在模拟器中完成。在下图中选择“应用程序”菜单:
  


  接着选择“安装应用程序”,就会弹出如下图的输入url的界面,输入我们刚才编写的download.wml的地址:
  

  开始下载:
  

  下载完成后,AMS会把里面包含的jad连接抽取出来,我们选择需要安装的程序:
  

  确认安装:
  

  安装完成后,我们的应用程序列表中就多了一个程序MyFirstMidlet,运行这个程序的效果在上一篇里已经贴图了,这里不再重复:
  

  最后说一下,在emulator里,它自带了很多示例项目,大家不妨看看。下面是其中的Demo3D项目的运行效果的截图,看来在手机上编写3D游戏也不是不可能的嘛。

请看链接http://www.blogjava.net/youxia/archive/2007/07/19/131238.html