可視 Mobile 設計器(VMD) 是 NetBeans Mobility 包中的圖形界面,允許您使用拖放組件來設計移動應用程序。VMD 允許使用 Mobility 包提供的組件或您自己設計的組件來定義應用程序流程和設計 GUI。VMD 包含許多標准 User Interface (UI) 組件,可用於創建 Lists、Alerts、Forms 和 Images 等應用程序。它還包括一些自定義組件,可用於簡化一些比較復雜的功能的創建,比如等待屏幕、啟動屏幕、表格項目等。
SMS 設計程序是自定義組件,提供了一種使用 Short Message Service (SMS) 發送短信的機制和用戶界面。此組件使用 JSR-120 Wireless Messaging API。此 API 不是 MIDP 2.0 規范的一部分,所以此自定義組件只能部署到具有內置 JSR-120 支持的設備。
應用程序概述
本例顯示如何在支持 Wireless Messaging API (WMA) 的設備的移動應用程序中使用 SMS 設計程序組件。您將學習此組件的基本功能,以及如何使用 Short Message Service 發送消息。
除 SMS 設計程序自定義組件之外,我們還使用其他兩個 MIDP 組件:啟動屏幕和報警。
需求
開始之前,需要在您的計算機中安裝以下軟件:
帶有 Mobility Pack 的 NetBeans IDE 6.0
Java Standard Development Kit (JDK) 版本 6.0
如果您不了解 NetBeans Mobility Pack,則應在繼續之前先閱讀 NetBeans 6.0 Mobility CLDC/MIDP Quick Start Guide。
安裝和運行示例應用程序
開始之前,您可能希望查看本教程的最終結果。
執行以下步驟安裝 SMSComposerExample 應用程序:
下載 SMSComposerExample.zip。
解壓文件。
在 IDE 中,選擇“文件”>“打開項目”並浏覽包含已解壓文件的文件夾。
打開“項目”和“檢查工具”窗口。它應如下所示:
在“項目”窗口中,右鍵單擊項目節點並選擇“運行項目”選項(也可以按 F6 鍵)。在應用程序運行時,一個仿真程序窗口將打開並顯示正在默認設備仿真程序中運行的應用程序。
在“仿真器”窗口中,單擊“啟動”下方的按鈕。仿真程序顯示 啟動屏幕 組件,之後是 SMS 設計程序組件,如下所示:
上下移動光標浏覽可用選項,比如“電話號碼”或“消息”。
單擊此按鈕更改電話號碼、消息文本,或按“發送”發送信息。
單擊“退出”下方的按鈕以關閉應用程序。
使用 SMS 設計程序自定義組件創建應用程序
既然已經看到了正在運行的 SMS 設計程序組件,讓我們返回起點創建此應用程序。要創建應用程序,請執行以下操作:
創建 SMSComposerExample 項目
將軟件包和可視 MIDlet 添加到 SMSComposerExample 項目中
將組件添加到 SMSComposerExample 中
將命令添加到 SMS 設計程序中
連接組件以創建應用程序流程
修改等待屏幕的任務
運行項目
創建 FileBrowserExample 項目
選擇“文件”>“新建項目”(Ctrl-Shift-N)。在“類別列表”中,選擇“移動”選項。在“項目”列表中,選擇“MIDP 應用程序”選項並單擊“下一步”按鈕。
在“項目名稱”字段中輸入 SMSComposerExample。將“項目位置”更改為您系統上的任意目錄。從現在開始,讓我們將此目錄稱為 $PROJECTHOME。
取消選中“創建 Hello MIDlet”復選框。單擊“下一步”按鈕。
保留“Java ME 無線工具包”為選中的“目標平台”。單擊“下一步”按鈕。
單擊“完成”按鈕。項目文件夾包含所有源碼和項目元數據,比如項目 Ant 腳本。應用程序本身將顯示在可視 Mobile 設計器的“流設計”窗口中。
將軟件包和可視 MIDlet 添加到 SMSComposerExample 項目中
在“項目”窗口中選擇 SMSComposerExample 項目,然後選擇“文件”>新建文件(Ctrl-N)。在“類別列表”中,選擇“Java 類”選項。在“文件類型”列表中,選擇“Java 包”選項。單擊“下一步”按鈕。
在“包名稱”字段中輸入 smscomposerexample。單擊“完成”按鈕。
在“項目”窗口中選擇 smscomposerexample 軟件包,然後選擇“文件”>新建文件(Ctrl-N)。在“類別列表”中,選擇 MIDP 選項。在“文件類型”列表中,選擇“ 可視 MIDlet”選項。單擊“下一步”按鈕。
在“MIDlet 名稱”和“MIDP 類名”字段中輸入 SMSComposerExample。單擊“完成”按鈕。
將組件添加到 SMSComposerExample 中
將“可視 MIDlet”切換到“流設計器”窗口。將“組件面板”中的以下組件拖放至“流設計器”中:
啟動屏幕
SMS Composer
等待屏幕
報警(兩次)
單擊 splash Screen,並在“屬性”窗口中將屬性“文本”的值從 null 更改為 SMS Composer Example。
單擊 alert1,並在“屬性”窗口中將屬性“實例名稱”的值從 alert1 更改為 alertSent,同樣可以將 alert2“實例名稱”屬性從 alert2 更改為 alertError。
單擊 alertSent,並在“屬性”窗口中將屬性“字符串”的值更改為 Message Sent,同樣可以將組件 alertError 中的屬性“字符串”更改為 Error。
單擊 smsComposer,並在“屬性”窗口中取消選中屬性 Automatically Send(SMS“屬性”種類)。
將命令添加到 SMSComposerExample 中
打開“流設計器”窗口。
從“組件面板”的“命令”部分中選擇“退出命令”選項。將其拖放至“流設計器”窗口(smsComposer 組件)中。
連接組件
在 Flow 設計窗口中,單擊“移動設備”上的“開始點”並將其拖至 spalshScreen 組件中。同樣 以同樣的方式將組件連接到一起,如下圖所示。
修改等待屏幕的任務
在“導航”窗口 查找任務組件(Resources 種類),右鍵單擊“導航”窗口 中的任務組件並選擇“轉到源”選項。在源窗口中查找 // write task-execution user code here" 部分並將其替換為 smsComposer.sendSMS();
運行項目
按 <F6> 運行主項目。也可以選擇“運行”>“運行主項目”。