a一级爱做片免费观看欧美,久久国产一区二区,日本一二三区免费,久草视频手机在线观看

新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > MTK系統下的J2ME運行平臺設計

MTK系統下的J2ME運行平臺設計

作者: 時間:2009-05-08 來源:網絡 收藏

移植接口層包含以下部分:
①文件部分,對文件操作,實現創建、打開、關閉、讀、寫等功能。KVM在的時候需要通過這部分接口使用本地文件,如打開jar、jad文件等。
②網絡部分,提供Socket訪問功能。
③外部事件,獲取用戶輸入,包括按鍵輸入和觸摸屏輸入。
④圖形顯示部分,負責KVM圖形及文字顯示。
時間部分,提供給KVM精確的時間。
⑥輸入法,Java程序時可能要求用戶輸入,此接口實現調用系統輸入法功能。
⑦其他接口,內存訪問、交互性事件通知以及擴充的JSR實現所需要的接口,如JSRl20、JSRl35等。
2.4 應用程序管理系統
應用程序管理系統管理整個Java環境,實現如下功能:
①顯示應用程序列表,展示給用戶當前手機系統的所有可用的應用程序。
②應用管理功能選擇菜單,菜單應包括兩種類型,分別是程序已經安裝好的菜單項和程序還未下載,只有jad文件在本地,需要向服務器請求下載應用安裝后才能運行的菜單項。
③下載應用,與服務器通信下載用戶選擇的應用。用戶啟動Java應用流程如圖4所示。

根據UI和engine的劃分,可以把應用程序管理系統分為應用程序管理界面和應用管理系統核心:應用程序管理界面提供給用戶交互式界面,包括管理系統主界面、程序下載界面、程序運行界面、管理功能菜單以及各級子界面;應用管理系統核心由實現功能的一系列API組成,提供給上層界面調用,實現程序的下載、安裝、刪除、運行等功能。


3 的實現
3.1 Java虛擬機移植的實現
在實現內存管理模塊時,由于不提供動態分配內存方式,而虛擬機需要一塊比較大的內存,不能從MED模塊分配,且根據需要會對內存進行壓縮整理,不適合采用系統托管方式。所以,采用虛擬機自己管理內存的方式,實現內存管理模塊。
KVM就像一個軟處理器一樣控制解釋Java字節碼和它的執行狀況,每一個創建的Java線程在Java堆中都會有各自的線程執行棧,并且由KVM運行來調度管理。為了使KVM能盡量正確地劃分時間片,需要給一個時間標準作為KVM的內部時鐘,由時間接口實現。系統提供void kal_get_time(kal_uint32*tieks_ptr)函數,可精確到1個ticks(4.615 ms)。
系統只提供一種大小字體,而Java應用需要使用3種大小字體。可以采用以下方式實現:
實現虛擬機自身的文字模塊,采用3種大小的ASCII和GB2312字體點陣字庫,從中提取文字點陣信息,由虛擬機圖形顯示模塊顯示。
②只提供一種大小的字體,這樣應用會受限制。由于系統可用內存小,文字點陣字庫相對比較大,不適合在這個平臺使用,因此選擇采用第2種方式。如今在移動多媒體領域,Java應用大多要求聯網,所以實現網絡通信,即要實現TCP/IP,支持套接字,是KVM一個非常重要的功能。系統“soc_api.h”文件中定義了套接字接口API,使用此接口實現虛擬機網絡方面移植非常方便。
Java應用要求支持多媒體音頻和事件處理,提供用戶最好的交互功能。在多媒體音頻方面,系統提供了非常全面的支持――支持MID、MP3等格式的音頻播放。根據Java應用的需求,一些基于MIDP2.O擴展包的實現成為必要。本系統實現了JSRl20的短信功能以及JSRl35的部分功能。
3.2 應用程序管理系統的實現
實現了應用程序管理核心API,包括對jar、jad文件的安裝、刪除、信息獲取等等。系統MMI層提供了豐富的UI元素,因此比較容易地實現了應用程序管理界面。實現了應用下載模塊,與服務器通信下載應用。由于平臺未提供HTTP協議的實現,因此在基于所的虛擬機Socket接口之上,實現了HTTP協議,連接服務器下載用戶選擇的相關應用。


結 語
運行平臺在系統上的設計和實現,充分考慮了系統空間的局限性和運行效率這兩大要素,以及Java運行時與系統的交互事件處理問題,實現了在平臺上下載、安裝、運行Java應用一體化平臺,并在MIP2.0基礎上擴充實現了JSR120、JSR135部分功能。該平臺已經在多款MTK6225平臺手機上運行。


上一頁 1 2 3 下一頁

評論


相關推薦

技術專區

關閉