京山游俠

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

            為什么會這樣?這是因為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目錄中可以看到下面這些文件:
            15.PNG

            我們運行其中的ktoolbar.exe,應用程序的界面如下:
            16.PNG

            注意,這個時候“項目”菜單是灰色的,我們需要隨便打開一個項目,項目菜單才能夠使用。在這個菜單中選擇“通過OTA運行”,如下圖:
            17.PNG

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


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

            開始下載:
            20.PNG

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

            確認安裝:
            22.PNG

            安裝完成后,我們的應用程序列表中就多了一個程序MyFirstMidlet,運行這個程序的效果在上一篇里已經貼圖了,這里不再重復:
            23.PNG

            最后說一下,在emulator里,它自帶了很多示例項目,大家不妨看看。下面是其中的Demo3D項目的運行效果的截圖,看來在手機上編寫3D游戲也不是不可能的嘛。
            24.PNG


          評論

          # re: 使用NetBeans進行J2ME開發(二):把程序轉移到手機上[未登錄]  回復  更多評論   

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

          # re: 使用NetBeans進行J2ME開發(二):把程序轉移到手機上  回復  更多評論   

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

          # re: 使用NetBeans進行J2ME開發(二):把程序轉移到手機上[未登錄]  回復  更多評論   

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

          么看懂,那手機怎么訪問里。?真的么看懂

          # re: 使用NetBeans進行J2ME開發(二):把程序轉移到手機上  回復  更多評論   

          2007-07-20 10:25 by 海邊沫沫
          @king
          手機只能訪問公開的網站啊,比如http://www.sina.com.cn/download.wml,而訪問http://localhost:8080/download.wml就不行,因為localhost這樣的域名只能在本機上訪問。

          # re: 使用NetBeans進行J2ME開發(二):把程序轉移到手機上  回復  更多評論   

          2007-07-21 13:38 by 山風小子
          很詳細,有時間學學 :)

          # re: 使用NetBeans進行J2ME開發(二):把程序轉移到手機上  回復  更多評論   

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

          # re: 使用NetBeans進行J2ME開發(二):把程序轉移到手機上  回復  更多評論   

          2007-07-30 16:44 by 小白之家
          學習,學習ing

          # re: 使用NetBeans進行J2ME開發(二):把程序轉移到手機上  回復  更多評論   

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

          所以我想是不是跟手機的型號有關。因為我也曾經將同樣的jar包傳到我們經理的手機上,他的手機就沒有安裝jar 包這個功能。當時我還很郁悶,想他的手機到底應該怎樣安裝。

          現在看過你的文章后,我想是不是跟手機的型號有關。也許有的手機只能通過網絡下載安裝,就是你說的OTA。

          # re: 使用NetBeans進行J2ME開發(二):把程序轉移到手機上  回復  更多評論   

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

          你用的是哪款手機?

          # re: 使用NetBeans進行J2ME開發(二):把程序轉移到手機上  回復  更多評論   

          2007-08-08 12:02 by Fang.W
          索愛W810

          # re: 使用NetBeans進行J2ME開發(二):把程序轉移到手機上  回復  更多評論   

          2007-08-10 14:49 by Foxfur
          java的安裝是和手機有關的,一般情況下,官方版本的系統都是要求通過網絡安裝的,有些做得智能點的就可以自動識別。三星的手機就可以通過補丁來實現通過TF卡安裝java程序!:)

          # re: 使用NetBeans進行J2ME開發(二):把程序轉移到手機上  回復  更多評論   

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

          # re: 使用NetBeans進行J2ME開發(二):把程序轉移到手機上  回復  更多評論   

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

          # re: 使用NetBeans進行J2ME開發(二):把程序轉移到手機上  回復  更多評論   

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

          # re: 使用NetBeans進行J2ME開發(二):把程序轉移到手機上  回復  更多評論   

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

          # re: 使用NetBeans進行J2ME開發(二):把程序轉移到手機上  回復  更多評論   

          2010-03-11 22:45 by 李勁柏
          感謝您的力作,對我很有幫助!
          主站蜘蛛池模板: 太湖县| 东兰县| 临安市| 蕉岭县| 玉田县| 隆安县| 林甸县| 晋宁县| 鲜城| 大姚县| 社会| 宝坻区| 文安县| 辽阳市| 高邮市| 潢川县| 山东省| 扬中市| 卫辉市| 新巴尔虎左旗| 碌曲县| 天气| 威远县| 台江县| 凤凰县| 观塘区| 元阳县| 辽宁省| 年辖:市辖区| 英德市| 历史| 鄂托克旗| 丹巴县| 林芝县| 永丰县| 琼海市| 那曲县| 永川市| 盐池县| 安平县| 房产|