Java ME設備的多樣化無疑是移動利用開發的噩夢,屏幕大小、按鍵鍵值、性能高低和API支撐的不同等眾多的差別為Java ME利用的多終端移植開發帶來了重重艱苦。
預處理器(Preprocessor),顧名思義,是在編譯之前對源代碼進行預先處理。它為JavaME利用的多終端移植供給了一個良好的解決計劃,你可以讓多個終端版本共用同一套源代碼,基於不同終真個屬性對代碼預處理後輸出不同版本,這為移植和代碼保護都帶來了宏大的方便。
目前比擬常見的預處理器有以下幾個計劃:
這三個計劃的應用方法基礎雷同,本文選擇Netbeans為例來闡明預處理器在多終端移植開發中的應用,相比其他兩個計劃Mobility Pack的解決計劃跟IDE聯合的更緊密,易用性更高。
本文僅先容和預處理器應用的相干內容,關於Netbeans的安裝、應用和技巧,請參考Netbeans的幫助文檔及其官方網站供給的相干文檔。
本文內容基於Netbeans 5.5和Mobility Pack 5.5。
首先,在應用Netbeans的預處理器之前,需要先懂得一下配置(Configuration)。這裡的配置差別於JavaME架構中的配置,是Mobility Pack引進的一個概念,通過配置,我們可認為每一個目標設備定義一個履行環境。
在一個MIDP工程中,我們可以添加任意多個配置,每個配置中可以定義的內容包含:
配置的新建、編纂和刪除可以在工程的屬性頁完成,更多具體的內容可以參考Netbeans的幫助文檔。
配置中定義的性能列表是預處理器工作的一個重要根據。
預處理器在編譯器工作之前施展作用,根據配置中的定義,提前修正源文件中的代碼。預處理器修正代碼的根據是預處理指令,這些指令以特定的注釋方法插進在源文件中,每一個指令都緊跟在”//#”之後。預處理器修正代碼的方法是注釋,假如預處理器指令成立,則指令包含的部分被保留,反之,則會被注釋掉。
1. 簡介
Java ME設備的多樣化無疑是移動利用開發的噩夢,屏幕大小、按鍵鍵值、性能高低和API支撐的不同等眾多的差別為Java ME利用的多終端移植開發帶來了重重艱苦。
預處理器(Preprocessor),顧名思義,是在編譯之前對源代碼進行預先處理。它為JavaME利用的多終端移植供給了一個良好的解決計劃,你可以讓多個終端版本共用同一套源代碼,基於不同終真個屬性對代碼預處理後輸出不同版本,這為移植和代碼保護都帶來了宏大的方便。
目前比擬常見的預處理器有以下幾個計劃:
這三個計劃的應用方法基礎雷同,本文選擇Netbeans為例來闡明預處理器在多終端移植開發中的應用,相比其他兩個計劃Mobility Pack的解決計劃跟IDE聯合的更緊密,易用性更高。
本文僅先容和預處理器應用的相干內容,關於Netbeans的安裝、應用和技巧,請參考Netbeans的幫助文檔及其官方網站供給的相干文檔。
本文內容基於Netbeans 5.5和Mobility Pack 5.5。
首先,在應用Netbeans的預處理器之前,需要先懂得一下配置(Configuration)。這裡的配置差別於JavaME架構中的配置,是Mobility Pack引進的一個概念,通過配置,我們可認為每一個目標設備定義一個履行環境。
在一個MIDP工程中,我們可以添加任意多個配置,每個配置中可以定義的內容包含:
配置的新建、編纂和刪除可以在工程的屬性頁完成,更多具體的內容可以參考Netbeans的幫助文檔。
配置中定義的性能列表是預處理器工作的一個重要根據。
預處理器在編譯器工作之前施展作用,根據配置中的定義,提前修正源文件中的代碼。預處理器修正代碼的根據是預處理指令,這些指令以特定的注釋方法插進在源文件中,每一個指令都緊跟在”//#”之後。預處理器修正代碼的方法是注釋,假如預處理器指令成立,則指令包含的部分被保留,反之,則會被注釋掉。
我們可以打開${工程目錄}/nbproject/build-impl.XML文件,將
<target name="pre-init">
修正為:
<target name="pre-init"> <defaultexcludes add="**/*.db"/> <defaultexcludes add="**/*.其他文件類型"/></target>
Ant已經默認消除了部分文件類型,例如.svn文件類型,具體內容請參考Ant的相干文檔。
預處理器的引進可認為多終端移植工作帶來明顯的利益,終於可以達成一份代碼實用於多個平台的宿願了,可以大大下降多版本保護的本錢,提高開發效率等。
然而,有一利必有一弊,這一份代碼卻是要經過一次又一次修正的,顯然,代碼的每一次修正都會帶來新的風險,已經通過測試的版本可能又會