基於多平臺的移動終端網路應用探析

  [論文關鍵詞]BREW; J2ME;網路
  [論文摘要]本文以BREW和J2ME兩種技術為基礎,通過網際網路上伺服器實現不同平臺移動終端的資料互動與資訊共享。在應用中使用者可以持有不同平臺的移動終端進入同一個應用空間。用例項對移動終端網路進行了研究。

      1.BREW,J2ME技術簡介
      1.1 BREW簡介
    BREW是Binary Runtime Environment for Wireless無線二進位制執行環境的縮寫,是美國高通為無線資料應用程式開發和執行提供的通用介面平臺,是高通公司提供的全面的、端到端的無線應用開發、裝置配置、應用分發、計費和支付的解決方案。
    BREW提供了一套應用程式介面API ,裝置製造商和開發入員可 以隨時對執行環境進行擴充套件,提供應用程式需要的各種附加效能模組。BREW商業執行的核心是BREW釋出系統。允許運營商自主控制和管理應用程式釋出、定價以及他們為使用者提供的服務。BREW要求所有的BREW應用都要通過第三方的測試,這樣將不會對終端使用者造成傷害,還保證了應用的設計功能的實現。
    1.2 J2ME簡介
    Java最初是為了開發嵌入式系統而設計的一種語言。Sun的開發小組在20世紀90年代初期的工作目標,是滿足剛剛發展起來的嵌入式計算機市場對軟體的需求,但隨著因特網提供的更具競爭力的機會,這項工作轉移了目標。Sun小組並沒有為Java補充額外的API,而是與Java Community Process Program一起,將Java程式設計語言Java虛擬機器分開。他們將Java API和JVM縮減到為支援嵌入式系統和微型計算機裝置所需的最少的程式碼。這是必要的,因為有限的資源限制了這些裝置的硬體設計。他們努力工作的結果就是J2ME的誕生。J2ME是Java API和VJM虛擬機器的一個縮減版本,它設計用來在新型的嵌入式計算機和微型計算機所能提供的有限資源內進行操作。
    2、應用系統概況
    2.1系統概況
    以手機為主的移動終端上的應用隨著技術的發展,朝著網路化方向在不斷前進。在國內執行的網路有GPRS和CDMA。兩大移動運營商裡,中國移動的使用者群,其手機終端運行於GPRS上,聯通使用者,其手機終端運行於CDMA之上,現在CDMA網路處於CDMAIX階段。本應用系統就是建立融合多平臺的大型網路應用,通過網際網路上伺服器實現不同平臺移動終端的資料互動與資訊共享。在應用中使用者可以持有不同平臺的移動終端進入同一個應用空間。
    2.2功能描述
    主選單:完成遊戲各個功能的選擇,包括有新遊戲的進入,聲音開關的設定,為使用者提供的幫助等等。
    新遊戲:遊戲的主迴圈體。
    儲存進度:在玩遊戲的過程中,如果需要儲存,則將遊戲中的主要資訊寫入持久儲存系統中,具體是寫入一個二進位制檔案中。
    載入進度:與儲存進度的作用相反,將儲存好的二進位制檔案讀出,並將遊戲的狀態恢復到玩家儲存處。
    事件的處理:在遊戲的過程中,應用系統要接受來自使用者的按鍵事件,外界的來電中斷和短訊息資訊等等。對於此類事件,遊戲中要進行相應的事件處理。
    螢幕的繪製:遊戲應用中,畫面的處理很關鍵,螢幕的繪製主要分為背景的繪製和精靈的繪製兩種。

    遊戲的邏輯處理:這是遊戲應用的中心,在邏輯處理中,會用到很多入工智慧的方法,提高遊戲的可玩性。
    3,應用實現的關健問題
    3 .1原則
    應用在手機終端上的遊戲與PC遊戲的不同主要是由於手機與PC的CPU不同造成的。隨著計算機技術的不斷髮展,PC機的CPU運算速率越來越快,記憶體容量也不斷增大;雖然手機的技術也在不斷的發展,大容量記憶體和較快CPU運算速度的手機不斷面市,但是在與PC機進行對比時,我們很容易就發現,手機的CPU運算速率仍然比較慢,記憶體容量仍然比較小。因此,在設計遊戲的時候,不能像PC遊戲那樣使用大量的資源,也就是說,遊戲的資源要儘可能小。
    其次,手機作為手持裝置,其螢幕相對PC機比較小,儘管目前技術的發展使手機解析度不斷提高,但是螢幕仍然較小,另外,不同的手機的螢幕的大小也不盡相同,因此,遊戲在設計時更加考慮到螢幕大小的問題,而對於PC遊戲這方面考慮的則少得多。同時手機的輸入裝置相對單一,又由於手機作為手持移動裝置來講,不可能做得很大,事實上,手機也有向更小型化和超薄化發展的趨勢,因此,對於手機遊戲來講,不可能與具有滑鼠、鍵盤的PC機上的遊戲相比,PC遊戲往往操作比較複雜,而手機遊戲要力求輸入方便,用較少的鍵控便能操作。
    由於手機開發平臺中可以利用的資源遠遠小於PC遊戲,因此在表現力上就較PC遊戲差很多,這也決定了PC遊戲的規模要遠遠大於BREW遊戲,同時,PC遊戲的情節上較手機遊戲也更加複雜。由於手機是集合通訊、資訊管理、娛樂等為一體的裝置,對於手機來講,通訊還是手機的主要功能。因此,這也決定了它比PC遊戲要有中斷性,要隨時能夠中斷,在中斷結束後應用程式也要能夠及時的恢復。
    3.2儲存功能
    遊戲應用應該都具有能儲存進度的功能。使用者可採用間斷性的方式,在玩到一定階段時,把當前進度儲存起來,等需要重新來過的時候讀取即可。這裡儲存的資料,在使用者退出遊戲後,或者關機後,資料都不能丟失。無線裝置通常情況下有兩種型別的記憶體:用於正在執行著的應用程式的記憶體和用於持久儲存的記憶體。後者儲存的資料比前者時間長。對於遊戲儲存功能的實現就是要將資料儲存到持久儲存的記憶體當中。
    BREW中提供了檔案和資料庫兩種不同的方式進行資料的持久儲存。J2ME提供的是一個類似於資料庫的系統,並不是簡單的檔案系統,稱為記錄管理系統RMS 。
    3.3程式執行速度
    實際上,使用者並不在意程式有多快,而更在意程式感覺起來有多快。有很多方法可以讓程式感覺起來更快,雖然其中的一些方法使實際速度有所下降。但是仍舊需要使程式事實上更快,這樣才能做到感覺起來快。
    1使用更快的演算法,找到程式的執行瓶頸,換用更有效和更快的演算法,是提高程式速度的關鍵。
    2將函式呼叫改為內聯展開。
    3儘量繪製大塊圖片,而不要使用小塊圖片。
    4 J2ME由於支援多執行緒,還可以用一種叫做延遲掩蓋的技術。所謂延遲掩蓋技術,就是把程式實際上的延遲作了掩飾,而使使用者實際上感覺不到程式延遲。
    3.4網路效能
    鑑於當前的移動的網路速度較慢,而且延時較大。這樣對於程式中的網路連線部分來說需要做出最大限度約束和優化,才能夠滿足當前網路苛刻的要求。避免低效協議,對於網路程式來說,任何現有的協議都是對於擴充套件性和安全性作了全面的處理,這樣不可避免的會導致程式的資料流量增加,對於手持裝置的網路連線並不使用。這個時候需要使用者自定義通訊協議,一般自定義協議需要遵循的原則應當是使資訊包體積最小、傳送和接收數量最少,這樣才能夠最大限度的減小網路流量和提升網路的響應速度。