手機上自帶的游戲都不大好玩,雖然數量多(相對一般手機的一到三個),但是好像都提不起興趣,夏新 E8 支持 java 擴展,那當然不會放過這個功能了,網上的 java 資源很多呀,那么能不能為 E8 所用,給我們的手機增添特色呢?下面,以筆者安裝 java 的經歷給大家介紹一下如何安裝 java 程序到手機上,通過了這一關,手機的娛樂性可大大增加了。
一、 單純的想法
以前使用的是索愛 t618, 也是一款比較經典的手機,娛樂性還行,尤其是 java 擴展方面是比較強的,只要將 java 的主程序就是 jar 文件通過紅外傳到手機里面,手機就會自動安裝,一點都不費力氣。那么,夏新 E8 是否具備這個功能,直接運行 java 的主程序而無需安裝呢?
趕緊試試,上網下載了游戲的 jar 文件,傳到手機上,點擊。結果是彈出了不能運行的提示,看來,直接安裝運行是行不通的,手機不能識別 jar 文件,也沒有關聯的程序來打開。再想辦法吧。
二、 查找源頭
既然如此,那就從手機上已經存在的游戲著手,看看這些手機的文件存放到什么地方,是以什么形式存在的。堅信手機上的游戲都是 java ,因為運行時都是通過一個 iajet 的 java 平臺,說做就做,查找起來非常簡單,打開我的手機 —windows—java—appdp 文件夾就找到了,狂多的一大堆文件,全部看起來都不知道是什么類型的文件,那就逐個逐個試吧。
接著一個一個點擊,在聽到一個一個錯誤提示和看到一個一個錯誤框后,終于有一個文件點擊下去就進入了 java 平臺的運行界面,狂喜,還不把你找到了。嘿嘿,你還是逃不出我的手掌心,乖乖,趕緊查看該文件的屬性,哦,原來是一個 jad 文件,怪不得,以前就一直忽視了 jad 文件,以為這個文件只是記錄了主程序的一些無關痛癢的信息,沒什么作用?,F在看來,手機要通過 jad 文件來安裝 java 。
三、 初步試驗
知道了大概,那就試試吧,看能不能通過 jad 文件實現安裝。又上網下載了一個游戲的 jar 和 jad 文件,兩個文件都傳到手機上,按照習慣,存放到了 amoipsm 目錄下,接著當然就是點擊那個 jad 文件了,嘿,有效果!手機的 java 平臺運行了,并且提示要安裝程序,
狂喜,當然選擇安裝了,咦,奇怪,怎么又提示要連接網絡,在手機上安裝程序關網絡什么事,不管他了,既然是嘗試就把工作進行到底,點擊確定連接,等了好一會,手機提示說網絡不能連接,程序當然就安裝失敗了。浪費了好一段時間。
四、 深挖根源
第一次安裝不成功,當然不會放棄,那就在深挖根源,找到出錯的地方,至少已經明白了安裝 java 要經過 jad 文件的引導,出錯應該是 jad 文件的問題,究竟錯在哪里,從安裝的過程來看,是不能連接網絡(網絡連接后沒能找到文件),想來想去,安裝軟件不可能要通過網絡,尤其是 java 程序,因為下載的是很普通的游戲,如果是原來的手機,光是一個 jar 文件就搞定了,現在要連接網絡才能安裝,并且連上網絡后又是找不到程序,那看來是這個 jad 文件犯了引導性錯誤了。有了這個方向,思路也清晰了,專門研究一下這個 jad 文件吧。將文件打開后(打開方式選記事本或者能打開文本的程序),看到里面是比較簡單的幾行說明性的文字,
其中有一條,就是倒數第二條
MIDlet-Jar-URL:http:/www2.joyes.com/game/upload_game/
引起了注意,這個應該是路徑的說明,而這里就直接指向了網站的下載路徑,而網站沒有經過注冊登陸時不能下載文件的,這就跟剛才要連接網絡和連接網絡后沒有找到程序一一對應上了?,F在既然連個文件都是放在同一個目錄底下,那么,直接指向就行了,根本不用通過網絡進行再次下載。有了這個主意,立馬對 jad 文件進行更改,將 jar 文件名前面的東西都刪除了,干干凈凈的直接指向 jar 文件,也就是 MIDlet-Jar-URL: 220637706.jar 看你行不行。
五、 再次嘗試
鼓足干勁,力爭上游,來來來,再次安裝。將改動后的 jad 文件傳到手機,點擊, java 平臺啟動,提示是否安裝,點擊安裝按鍵,選擇安裝,然后手機進入了安裝畫面,看來成功了。不過,安裝的過程有點慢,估計是手機要讀取 jar 文件的內容并且要生成一大堆復雜的文件,所以不費點時間不行。
等呀等呀,大概十分鐘的時間后終于安裝完成,提示是否執行,那當然了,先試一下,看是否真正的安裝好了。
最終測試結果:該 java 游戲可以打開,可以進入游戲菜單,但是對于手機的屏幕點擊不能識別,因此不能繼續測試。估計原因在于該游戲是針對鍵盤手機設計,沒有把手寫手機的屏幕點擊考慮進去,同時,手機 java 平臺的模擬鍵盤的按鍵與該游戲的設置不兼容。但不管怎么說,能夠完成安裝已經是很大的勝利了。
再看個詳細,退出游戲,查看 amoipsm 文件夾,發現里面有一個 java 文件夾,再打開,是一個 game 文件夾,里面同樣有一個 appdp 文件夾,在這個文件夾里面的文件跟 windows 里面的文件差不多,都是一大堆不明所以。
再回到 amoipsm 文件夾,發現原來的 jar 文件已經不見了,應該是手機將該文件的內容讀取并且聲稱相關文件后自動將其刪除了,這樣也好,一來節省空間,二來面的文件多了記不起來。
現在已經知道 java 的安裝方法,那下一步就肯定是找一個能玩的游戲玩一下了,將目標鎖定在觸摸屏手機能玩的游戲上,在網上查找,很快就找到了一款高爾夫游戲,將其下載,安裝,測試,大功告成,游戲可玩,有聲音,并且是全屏的,效果不錯。這個游戲也建議大家有空試一下。
六、 繼續學習,摸清原理
雖然安裝成功,但是有關 java 的知識還是不夠。要完美一些,不但會用,還要知道為什么能用,于是趕緊補充對 java 的學習。將一些學習心得給大家參考一下(部分資料來源于網絡)。
我們知道有 JAVA 功能的手機程序(包括應用程序,游戲和電子書等等),主要都是由兩個文件組成,一個是 *.JAR ,一個是 *.JAD 。
JAR 文件包含這個程序的 Java 類,以及有關的其他文件諸如圖像和應用程序數據(即通常所說的資源等信息 ) 。 JAR 文件下的 manifest.mf 是描述 JAR 內容的清單文件 .
manifest.mf 文件所有可能的信息如下:
MIDlet-Name --- MIDlet 程序包的名稱。
MIDlet-Version -- MIDlet 的版本號
MIDlet-Vendor -----MIDlet 的創建者或提供商
MIDlet-Icon --------- 應用程序管理器把這個圖標與 MIDlet-Name 相關聯, 這是一個圖形文件,以 PNG 圖象格式儲存。
MIDlet-Description ----- 描述 MIDlet 的文本
MIDlet-Info-URL ----- 可能提供更多 MIDlet 和 / 或供應商信息的 URL
MIDlet- 這個屬性包括三段信息: MIDlet 名稱 / 用于這個 MIDlet 的圖標 ( 可選 ) / 應用程序管理器將調用來加載這個 MIDlet 的類名
MIDlet-Jar-URL---- JAR 文件的 URL
MIDlet-Jar-Size ----JAR 文件的大小
MIDlet-Data-Size---- 持久數據存儲必需的最小字節數
MicroEdition-PRofile ----MIDlet 需要哪一種 J2ME 簡表
MicroEdition-Configuration----- MIDlet 需要哪一種 J2ME 配置
上面這些屬性并不是全部都需要的,但是,下面列出的這六個是必須的,否則應用程序管理器就會拒絕加載這個 JAR 。
MIDlet-Version
MIDlet-Name
MIDlet-Vendor
MIDlet-
MicroEdition-Profile
MicroEdition-Configuration
有些程序是不需要 JAD 文件文件的,這些程序在傳送的過程中不需要修改 JAR 文件。但是目前大部分手機程序使用的是相對路徑,傳送以后需要修改 JAR 文件,所以必須得有 JAD 文件。開始安裝的時候就是忽略了這一點,沒有相對路徑這個概念,浪費了一點時間。有的手機會自動生成 jad 文件,如一些采用 s60 系統的手機。其實這些枯燥的概念不用深究,知道什么意思就行了,掌握了這些信息后,我們就可以對 java 游戲的一些表面的東西進行改動,例如游戲名稱 Name 、游戲圖標 Icon ,用以個性化我們手機上的游戲,當然更深入的更改是操作不了的。
我們看到 JAD 的屬性與 manifest.mf 文件里的屬性是相同的,但是下面的屬性必須要有,否則手機無法加載這個游戲:
MIDlet-Version
MIDlet-Name
MIDlet-Vendor
MIDlet-
MIDlet-Jar-URL ---- 引用 jar 文件
MIDlet-Jar-Size
這里要說明的是:除了這些屬性以外,如果兩個文件中的另外名稱相同的屬性,但是屬性值不相同的,將優先采取應用程序描述器文件 ( JAD ) 屬性!
我們看到上面有一個 MIDlet-1 屬性,這個屬性不是必須的,但是沒有這個屬性,在模擬器中將沒有辦法使用這個程序!因此,如果你的手機程序無法在模擬器中使用的話,可以添加一下這個屬性,再試試看到底可不可以運行。
還要注意的幾點是:
1 。屬性 MIDlet-Name 、 MIDlet-Version 和 MIDlet-Vendor 既在 JAR 中的清單文件中又在 JAD 文件中,這些屬性的值都必須完全相同。如果不同將會引起沖突,能自動生成 jad 文件的沒有問題,但要有 jad 作引導的就不行了。安裝會出錯。
2 。屬性 MIDlet-Data-Size 在 JAR 文件和 JAD 文件中都有,當兩個文件中都定義了這個屬性的時候,程序運行時 JAD 文件中的屬性將使用。
3 。從網上下載的 jad 文件絕大部分都是不適用的,關鍵就在于 url 這個相對路徑,通過修改可以解決,具體修改方法已經在上面說過了。
七、 更進一步
剛才說到了 jad 這個文件,部分網站是提供下載的,但也有一部分沒有提供,再說就是提供下載也不能用,必須通過修改,那么,有沒有辦法一下子就把這些問題解決呢,經過研究,該問題可以借助一個小軟件得以解決。這個軟件叫做 jadgen ,是一個綠色小軟件,非常小,但是在沒有 jad 文件的時候可以幫到大忙。該軟件的功能就是自動生成 jad 文件,操作起來非常方便,完全傻瓜式的操作。具體使用方法如下:
1、 上網下載軟件,如無意外,是一個壓縮文件,將其解壓
2、 解壓后打開解壓的文件夾,可以看到主程序文件 JADgen.exe ,雙擊可以打開,但需要提醒的是,直接運行軟件什么都做不了,就算做得了也很不方便,要慢慢的輸入文件路徑,也就是說,在這里根本不用運行該軟件。
3、 接著上面說,將你要生成 jad 文件的 jar 文件用鼠標點住,直接往 jadgen.exe 的圖標拖放,一松手,配套的 jad 就生成了,生成的 jad 文件直接存放在 jar 文件所在的路徑。例如本人習慣將下載的文件放到桌面上,那生成的文件也在桌面上。
八、 使用總結
作為一款智能手機,對 java 擴展的支持是必不可少的,但從現在來看,網上的資源還是偏少, java 雖然多,但未必適用,這就成了一個制約的因素,尤其是剛開始對手機不熟悉的時候,安裝失敗后很容易就對手機有所懷疑,而且,夏新在這方面確實做得不夠:
1、 說明書太簡單,基本是提綱式的,沒有充分考慮 diy 的需要,對一下關鍵的地方言之不詳,導致用戶要反復摸索,好像反過來要給夏新做宣傳。
2、 網上資源太少,其它網站沒有的至少夏新網站要有,連這點都沒有做到,到現在還只是原來的那幾個游戲,希望在推出更新系統時也要推出新的應用軟件和游戲。
對于安裝 java 游戲來講,需要總結的剛才已經作了提醒,還要說的是,查找游戲時要盡量找一些適合觸摸屏、能全屏顯示的游戲,以免點擊屏幕是操作不了。例如查找一些同類型手機的游戲象 motuo 的 680 型號等等,同樣是 320*240 屏幕,同樣是觸摸屏,這樣可能成功的機會高很多。要知道,手機的內存是偏小的,更多的手機軟件可能由于容量問題安裝不了,而 java 其中一個優勢就是占用內存少,必須充分發揮,而且現在也有很多 java 應用軟件做得非常好,應該多做點嘗試。另外在安裝 java 主程序的時候,等待的時間是比較長的,安裝好以后,進入程序速度比較快,特別是對于全屏的游戲來說,看起來很舒服。
以上是一點點的體會,僅供參考。
新聞熱點
疑難解答
圖片精選