京山游俠

          專注技術(shù),拒絕扯淡
          posts - 50, comments - 868, trackbacks - 0, articles - 0
            BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理
            上一篇,我們見(jiàn)識(shí)了編寫一個(gè)手機(jī)程序其實(shí)很簡(jiǎn)單。但是很多人大概不是很明白怎樣把程序轉(zhuǎn)移到手機(jī)上,不信你就試試,不管你是用數(shù)據(jù)線,還是用紅外藍(lán)牙,都無(wú)法把電腦上的程序弄到手機(jī)上運(yùn)行,也沒(méi)辦法把別人手機(jī)上的游戲弄到自己的手機(jī)上運(yùn)行(傳輸普通數(shù)據(jù)可以,就是程序不行)。我有一次就是看到別人的手機(jī)上有很多游戲,想轉(zhuǎn)移過(guò)來(lái),怎么試都不行。

            為什么會(huì)這樣?這是因?yàn)镴ava程序在到手機(jī)上運(yùn)行之前,必須經(jīng)過(guò)一個(gè)安裝過(guò)程,而這個(gè)安裝過(guò)程,是通過(guò)你的手機(jī)的AMS(應(yīng)用程序管理軟件)完成的,而這個(gè)AMS只能從網(wǎng)上下載程序進(jìn)行安裝。明白了這個(gè)道理,那么再將程序轉(zhuǎn)移到手機(jī)就簡(jiǎn)單多了,不就是要從網(wǎng)上下載嗎?我們這里哪一位不是建網(wǎng)站的高手?搞一個(gè)Tomcat來(lái)就輕松搞定。我們甚至可以把建立一個(gè)手機(jī)程序下載網(wǎng)站作為創(chuàng)業(yè)之路。這樣的下載服務(wù)器專業(yè)的叫發(fā)叫OTA服務(wù)器,OTA,就是Over The Air,是不是很直觀,像手機(jī)這樣的無(wú)線上網(wǎng)不就是通過(guò)空氣來(lái)下載的嗎?

            建立一個(gè)OTA服務(wù)器,首先要了解J2ME程序的結(jié)構(gòu),J2ME程序的項(xiàng)目生成以后,應(yīng)該是由兩個(gè)文件組成,一個(gè).jar文件和一個(gè).jad文件,.jar文件不用說(shuō)了,自然是包含我們所有的java程序以及各種圖片、音樂(lè)的資源文件;而.jad文件是一個(gè)文本文件,它包含了我們程序的描述信息。AMS在安裝程序時(shí),就是通過(guò)這個(gè).jad文件來(lái)了解我們程序的一些信息的。在上一篇中,我們建立的項(xiàng)目保存目錄為D:\Java\Projects\MyFirstMobileApplication,在這個(gè)目錄的dist目錄下面,可以看到兩個(gè)文件:MyFirstMobileApplication.jar和MyFirstMobileApplication.jad

            打開Tomcat服務(wù)器,我們也懶得再專門建立一個(gè)Web應(yīng)用程序,就使用Tomcat的默認(rèn)應(yīng)用程序好了,把上面的兩個(gè)文件拷貝到Tomcat目錄的webapps\ROOT目錄下,然后,再在該目錄下建立一個(gè)簡(jiǎn)單的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>


            編輯完這個(gè)wml文件后,我們還要檢查一個(gè)東西,就是打開Tomcat目錄下的conf\web.xml文件,看看其中有沒(méi)有如下幾行:
          <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>


            如果沒(méi)有,就要把它們加進(jìn)去。不過(guò)一般最新版本的Tomcat都是有的。

            OK,下面就可以用手機(jī)來(lái)下載我們的程序了。不過(guò)請(qǐng)記住兩點(diǎn):
            1.手機(jī)上網(wǎng)是要錢的,比如我們這里,中國(guó)移動(dòng)的價(jià)格是每下載1k收3分錢,不要小看啊,1M就是30元啊,看你有多少錢往水里扔。不過(guò)你也可以定制包月服務(wù),5元錢10M或者20元50M,不過(guò)如果你真的每一個(gè)程序多下載到手機(jī)上測(cè)試的話,我想這包月也是不夠的。
            2.你的服務(wù)器必須能夠被訪問(wèn),這說(shuō)明你必須要有一個(gè)域名,還要租用服務(wù)器,這也是要錢的啊。而使用模擬器在自己的機(jī)器上訪問(wèn),則只接訪問(wèn)http://localhost:8080/download.wml就可以了。

            因此,我們還是使用模擬器來(lái)演示怎么安裝軟件。MobilePack 5.5.1自帶的手機(jī)模擬器程序叫emulator,是WTK2.5.1的組件之一。在NetBeans IDE中使用它運(yùn)行項(xiàng)目很簡(jiǎn)單,但是要單獨(dú)打開這個(gè)軟件就有點(diǎn)麻煩了。在NetBeans的安裝目錄中,在mobility7.3\emulators-inst目錄下有一個(gè)wtk251-win.zip文件,把這個(gè)文件解壓縮到wtk251-win文件夾中,在wtk251-win\emulator\bin目錄中可以看到下面這些文件:
            15.PNG

            我們運(yùn)行其中的ktoolbar.exe,應(yīng)用程序的界面如下:
            16.PNG

            注意,這個(gè)時(shí)候“項(xiàng)目”菜單是灰色的,我們需要隨便打開一個(gè)項(xiàng)目,項(xiàng)目菜單才能夠使用。在這個(gè)菜單中選擇“通過(guò)OTA運(yùn)行”,如下圖:
            17.PNG

            彈出模擬器,下面的操作都在模擬器中完成。在下圖中選擇“應(yīng)用程序”菜單:
            18.PNG


            接著選擇“安裝應(yīng)用程序”,就會(huì)彈出如下圖的輸入url的界面,輸入我們剛才編寫的download.wml的地址:
            19.PNG

            開始下載:
            20.PNG

            下載完成后,AMS會(huì)把里面包含的jad連接抽取出來(lái),我們選擇需要安裝的程序:
            21.PNG

            確認(rèn)安裝:
            22.PNG

            安裝完成后,我們的應(yīng)用程序列表中就多了一個(gè)程序MyFirstMidlet,運(yùn)行這個(gè)程序的效果在上一篇里已經(jīng)貼圖了,這里不再重復(fù):
            23.PNG

            最后說(shuō)一下,在emulator里,它自帶了很多示例項(xiàng)目,大家不妨看看。下面是其中的Demo3D項(xiàng)目的運(yùn)行效果的截圖,看來(lái)在手機(jī)上編寫3D游戲也不是不可能的嘛。
            24.PNG


          評(píng)論

          # re: 使用NetBeans進(jìn)行J2ME開發(fā)(二):把程序轉(zhuǎn)移到手機(jī)上[未登錄](méi)  回復(fù)  更多評(píng)論   

          2007-07-19 21:40 by dan
          您寫的文章很適合我這樣的新手看,而且很詳細(xì).非常感謝,希望一直有新的發(fā)布.

          # re: 使用NetBeans進(jìn)行J2ME開發(fā)(二):把程序轉(zhuǎn)移到手機(jī)上  回復(fù)  更多評(píng)論   

          2007-07-19 22:26 by go
          good...

          # re: 使用NetBeans進(jìn)行J2ME開發(fā)(二):把程序轉(zhuǎn)移到手機(jī)上[未登錄](méi)  回復(fù)  更多評(píng)論   

          2007-07-20 09:03 by king
          2.你的服務(wù)器必須能夠被訪問(wèn),這說(shuō)明你必須要有一個(gè)域名,還要租用服務(wù)器,這也是要錢的啊。而使用模擬器在自己的機(jī)器上訪問(wèn),則只接訪問(wèn)http://localhost:8080/download.wml就可以了

          么看懂,那手機(jī)怎么訪問(wèn)里。?真的么看懂

          # re: 使用NetBeans進(jìn)行J2ME開發(fā)(二):把程序轉(zhuǎn)移到手機(jī)上  回復(fù)  更多評(píng)論   

          2007-07-20 10:25 by 海邊沫沫
          @king
          手機(jī)只能訪問(wèn)公開的網(wǎng)站啊,比如http://www.sina.com.cn/download.wml,而訪問(wèn)http://localhost:8080/download.wml就不行,因?yàn)閘ocalhost這樣的域名只能在本機(jī)上訪問(wèn)。

          # re: 使用NetBeans進(jìn)行J2ME開發(fā)(二):把程序轉(zhuǎn)移到手機(jī)上  回復(fù)  更多評(píng)論   

          2007-07-21 13:38 by 山風(fēng)小子
          很詳細(xì),有時(shí)間學(xué)學(xué) :)

          # re: 使用NetBeans進(jìn)行J2ME開發(fā)(二):把程序轉(zhuǎn)移到手機(jī)上  回復(fù)  更多評(píng)論   

          2007-07-21 16:50 by Darkdance
          很不錯(cuò)的文章,希望您也能簡(jiǎn)單的介紹一下ECLIPSE的用法哦。。

          # re: 使用NetBeans進(jìn)行J2ME開發(fā)(二):把程序轉(zhuǎn)移到手機(jī)上  回復(fù)  更多評(píng)論   

          2007-07-30 16:44 by 小白之家
          學(xué)習(xí),學(xué)習(xí)ing

          # re: 使用NetBeans進(jìn)行J2ME開發(fā)(二):把程序轉(zhuǎn)移到手機(jī)上  回復(fù)  更多評(píng)論   

          2007-08-07 22:01 by Fang.W
          強(qiáng)!頂!
          但是我有個(gè)問(wèn)題哦,你說(shuō)想要將做好的程序放在自己的手機(jī)上運(yùn)行需要通過(guò)網(wǎng)絡(luò)下載才行。這種說(shuō)法我想反駁一下...
          我做了很多簡(jiǎn)單的j2me程序,都能放到自己的手機(jī)里運(yùn)行啊,還有我用電腦在網(wǎng)上下載了很多游戲安裝包,然后通過(guò)數(shù)據(jù)線、紅外、藍(lán)牙隨便哪種方法將jar 包傳到手機(jī)里,然后在手機(jī)里找到JAR包,安裝后,就可以運(yùn)行了。

          所以我想是不是跟手機(jī)的型號(hào)有關(guān)。因?yàn)槲乙苍?jīng)將同樣的jar包傳到我們經(jīng)理的手機(jī)上,他的手機(jī)就沒(méi)有安裝jar 包這個(gè)功能。當(dāng)時(shí)我還很郁悶,想他的手機(jī)到底應(yīng)該怎樣安裝。

          現(xiàn)在看過(guò)你的文章后,我想是不是跟手機(jī)的型號(hào)有關(guān)。也許有的手機(jī)只能通過(guò)網(wǎng)絡(luò)下載安裝,就是你說(shuō)的OTA。

          # re: 使用NetBeans進(jìn)行J2ME開發(fā)(二):把程序轉(zhuǎn)移到手機(jī)上  回復(fù)  更多評(píng)論   

          2007-08-08 11:15 by 海邊沫沫
          @Fang.W
          如果是這樣,那么說(shuō)明你說(shuō)的有道理

          你用的是哪款手機(jī)?

          # re: 使用NetBeans進(jìn)行J2ME開發(fā)(二):把程序轉(zhuǎn)移到手機(jī)上  回復(fù)  更多評(píng)論   

          2007-08-08 12:02 by Fang.W
          索愛(ài)W810

          # re: 使用NetBeans進(jìn)行J2ME開發(fā)(二):把程序轉(zhuǎn)移到手機(jī)上  回復(fù)  更多評(píng)論   

          2007-08-10 14:49 by Foxfur
          java的安裝是和手機(jī)有關(guān)的,一般情況下,官方版本的系統(tǒng)都是要求通過(guò)網(wǎng)絡(luò)安裝的,有些做得智能點(diǎn)的就可以自動(dòng)識(shí)別。三星的手機(jī)就可以通過(guò)補(bǔ)丁來(lái)實(shí)現(xiàn)通過(guò)TF卡安裝java程序!:)

          # re: 使用NetBeans進(jìn)行J2ME開發(fā)(二):把程序轉(zhuǎn)移到手機(jī)上  回復(fù)  更多評(píng)論   

          2007-08-29 10:01 by 曹燕華
          我是新手,謝謝.

          # re: 使用NetBeans進(jìn)行J2ME開發(fā)(二):把程序轉(zhuǎn)移到手機(jī)上  回復(fù)  更多評(píng)論   

          2008-06-24 11:18 by yangxy
          在dist文件夾里就有生成的jad和jar,拷貝到手機(jī)上就可以安裝了.我的手機(jī)是PPC安裝了java虛擬機(jī)

          # re: 使用NetBeans進(jìn)行J2ME開發(fā)(二):把程序轉(zhuǎn)移到手機(jī)上  回復(fù)  更多評(píng)論   

          2008-08-12 11:04 by Sijia
          很好,能把源碼發(fā)給我嗎?
          liu_sijia@126.com
          謝謝先.

          # re: 使用NetBeans進(jìn)行J2ME開發(fā)(二):把程序轉(zhuǎn)移到手機(jī)上  回復(fù)  更多評(píng)論   

          2009-03-25 17:22 by byfk
          非常之感謝

          # re: 使用NetBeans進(jìn)行J2ME開發(fā)(二):把程序轉(zhuǎn)移到手機(jī)上  回復(fù)  更多評(píng)論   

          2010-03-11 22:45 by 李勁柏
          感謝您的力作,對(duì)我很有幫助!
          主站蜘蛛池模板: 确山县| 佛坪县| 泰州市| 淅川县| 无锡市| 二连浩特市| 尼勒克县| 大竹县| 阿城市| 会东县| 东港市| 通山县| 荃湾区| 饶河县| 平舆县| 绍兴市| 南康市| 溧水县| 门头沟区| 秦安县| 永和县| 德兴市| 滁州市| 望奎县| 尼勒克县| 凭祥市| 公安县| 河曲县| 镇远县| 炉霍县| 丰县| 广东省| 新平| 武宣县| 沁水县| 绥江县| 新营市| 治县。| 西充县| 双流县| 连南|