為什麼需要第三方 UI 庫?
J2ME 內建 UI 不夠美觀、難以自定義。開源 UI 庫可大幅簡化開發、提升效率,但通常體積較大,舊機型難跑。好處是開源可參考核心思想自製輕量庫。
主流開源 UI 庫速覽
- Apime:提供更多功能(檔案管理、自定義主題、國際化、觸控/鍵盤管理),支援 MIDP 1.0/2.0。
- Fire (Flexible interface Rendering engine):輕量級可換膚 GUI 引擎,Fire 2.0 新增 XHTML 渲染引擎。
- Gear:統一基礎框架,特性:可擴展換膚 Widget 系統、多執行緒、事件驅動執行緒交互、Location API、網絡通訊、強大字串/圖像工具類。
- J4ME:開發包含 UI 框架、日誌框架(解決機型差異)、藍牙 GPS 框架(JSR-179)、補完 J2ME 缺失類(如雙精度運算)。
- jMobileCore:支援基於 Canvas 的精簡 GUI、快速資料存取、可靠通訊、簡化多執行緒 MIDlet,相容 MIDP 1.0/CLDC 1.0 所有設備。
- J2ME Polish:德國開源專案,全方位支援:自定義 UI、國際化、用 build.xml 產生各廠商版本、CSS 定制 UI、自製開發工具。
- KUIX (Kalmeo User Interface eXtensions):XML/CSS 開發,提供 Button、TextField、List、Menu、Tabs 等組件,依賴 Kutil 專案(均託管於 Google Code)。
- LWUIT:輕量級 Java ME UI 工具包,Swing 風格 MVC、多種 Layout、換膚、字體、觸控、動畫、Rich 控件、3D 整合、Painter、I18N/L10N。WTK 3.0 已內建。
- Mewt:輕量可換膚控件,自適應螢幕大小,現有 Tree、Table、List、Button 等。
- MWT (Micro Window Toolkit):靈感源自 AWT/Swing/SWT,支援 bitmap font 自定義組件,專為嵌入式優化,LGPL 發布。
- OpenBaseMovil:模組化框架:core(國際化/任務控制/加密/壓縮/浮點/屬性/MVC/事件)、db(關聯式資料庫/千級記錄)、script(腳本引擎)、ui(UI 工具包),模組間無縫整合。
選型建議
按專案需求挑選,亦可參考源碼自製專屬庫。希望對大家有幫助。