詳解OPhone可視化軟件開發工具ODT
編者按:OPhone手機操作系統是由中國移動主導高端手機操作系統,作為我國自有知識產權的產品,廣受業界關注。本文為《程序員》2010年第六期精品文章,作者是中國移動通信研究院終端技術研究所軟件工程師柳陽博士。本文主要介紹了結合一個簡單實例,展示了ODT所見即所得的可視化界面編輯功能和代碼生成功能。
OPhone可視化軟件開發工具(OPhone Development Tools,ODT)是專為OPhone平臺開發者設計的一整套可視化軟件開發工具。在兼容ADT(Android Development Tools)的基礎上,ODT提供了所見即所得、控件可拖放、屬性可編輯、代碼可自動生成、支持OPhone UI樣式的界面編輯器。通過可視化編輯的方式,ODT可以方便快捷地構建OPhone應用程序的界面,并自動生成OPhone應用程序界面代碼。ODT可以把開發人員從繁瑣的UI設計中解脫出來,使之更關注應用程序內部邏輯的實現,從而提高軟件開發效率。
ODT的軟件架構
ODT是Eclipse IDE的插件,在兼容ADT的基礎上,提供了所見即所得的可視化界面編輯器(OPhone Layout Editor)和強大的代碼生成功能。ODT軟件架構如圖1所示。
圖1 ODT軟件架構圖
可視化界面編輯器(OPhone Layout Editor)
圖2 可視化界面編輯器的界面
可視化界面編輯器以鼠標拖拽的方式完成應用程序界面的構建,可以自動生成界面描述文件、界面類和控件事件處理代碼,從而實現所見即所得的應用程序界面的編輯功能。如圖2所示,可視化界面編輯器由四個部分組成:
主界面編輯器(Main UI Editor)
主界面編輯器是應用界面編輯的主窗口,開發者可以通過鼠標拖拽的方式完成應用界面的編輯。此外,主界面編輯器還提供背景網格、對齊、復制、剪切、粘貼、分辨率設置等功能。
控件面板(Widget Palette)
控件面板以分組的形式顯示所有控件,包括控件、布局和自定義控件。其中,控件指不可以嵌套子控件的普通控件,布局指可以嵌套子控件的控件,自定義控件指開發者自己開發的控件。開發者可以從控件面板中拖放控件至主界面編輯器。
界面大綱視圖(Outline View)
界面大綱視圖用樹形結構描述控件之間的包含關系。在該視圖中,開發者可以方便地瀏覽和選擇界面中的控件。
屬性編輯器(Properties Editor)
屬性編輯器顯示當前選中控件的屬性。所有控件屬性以列表的形式展示,每個屬性包含屬性名稱和屬性值兩列。
創建HelloOPhone應用
下面,我們將使用ODT完成一個簡單應用的開發,以幫助開發者快速掌握ODT的使用方法。其中,重點講述了OPhone應用程序界面的構建方法。
安裝OPhone SDK與ODT
在開發OPhone應用之前,首先需要安裝OPhone SDK 2.0與ODT。
創建工程:
ODT提供了新工程向導,可以使用該向導快速創建一個OPhone工程。步驟如下:
1. 單擊Eclipse菜單File > New > OPhone Project。
2. 在彈出的New OPhone Project界面的“Contents”組中,選中“Create new project in workspace”。
3. 在“Build Target”組中,選中“OPhone 2.0”。
4. 在“Properties”組中輸入:
- Project Name: HelloOPhone
- Application Name: HelloOPhone
- Package Name: oms.samples.
- helloophone
- Activity: HelloOPhone
- Min SDK Version: 7
5. 單擊“Finish”完成創建。
編輯界面:
1. 雙擊HelloOPhone工程的res\layout\main.xml文件,打開可視化界面編輯器。
2. 選中主界面編輯器中的內容為“Hello World,Hello OPhone!”的TextView控件,右鍵>Remove,刪除該控件。
3. 在控件面板的Widgets欄中,選擇Button控件,按住左鍵不放拖拽到主界面編輯器中。按照同樣的方式拖拽DatePicker控件和另一個Button控件到主界面編輯器中。
4. 選中主界面編輯器中的Button-01,查看屬性編輯器,修改其屬性Text為“彈出Dialog”,保存工程。HelloOPhone界面的效果如圖3所示。
圖3 主界面編輯器中的HelloOPhone界面
添加事件處理代碼
1. 單擊選中名為“彈出Dialog”的Button按鈕,右鍵單擊>Add Event Handler,彈出Add Event Handler界面。
2. 在Activity name的下拉框中選擇HelloOPhone,勾選OnClick-Listener事件,點擊OK后自動生成并打開名為HelloOPhone.java文件。生成的代碼如下:
- package oms.samples.helloophone;
- import android.app.Activity;
- import android.os.Bundle;
- import android.widget.Button;
- import android.view.View;
- import android.view.View.OnClickListener;
- public class HelloOPhone extends Activity {
- /** Called when the activity is first created. */
- @Override
- public void onCreate(Bundle
- savedInstanceState) {
- super.onCreate
- (savedInstanceState);
- setContentView(R.layout.main);
- button01 = (Button)
- findViewById(R.id.Button01);
- button01.setOnClickListener
- (new OnClickListener() {
- public void onClick(View v)
- { }
- });
- }
- private Button button01;
- }
3. 在生成的HelloOPhone.java文件的onClick函數中,添加下面的事件響應代碼,并導入所需的包(android.app.AlertDialog),然后保存。
- // Popup a AlertDialog
- new AlertDialog.Builder(HelloOPhone.this)
- .setTitle("ODT")
- .setMessage("OPhone
- Development Tools")
- .setPositiveButton
- ("OK",null)
- .setCancelable(false)
- .show();
創建啟動配置
在運行和調試OPhone程序之前,必須先創建一個啟動配置(Run Configurations)。通過下面的步驟創建啟動配置:
1. 在工程上,右鍵單擊Run as>Run Configurations。
2. 在左側的樹型工程列表中,右鍵單擊OPhone Application,并選擇New。
3. 在出現的對話框中輸入該配置的名字HelloOPhone。
4. 在下面的Android表單中,點擊Browse找到HelloOPhone工程。
5. 在Target表單中,選中OPhone 2.0的AVD (Android Visual Divice)。
6. 點擊Apply按鈕,保存配置,或者點擊Run或Debug按鈕運行該應用。
運行并查看結果:
1. 在工程上,右鍵單擊>Run As>OPhone Application,運行HelloOphone工程。
2. 模擬器成功啟動,比較主界面編輯器中的界面與模擬器中的界面。如圖4所示,主界面編輯器中的界面(左)與模擬器中的界面(右)是一致的。唯一的不同是模擬器中的DatePicker控件獲取了系統的日期,而編輯狀態下的界面無法獲取系統的日期。
3. 單擊“彈出Dialog”按鈕,彈出標題為“ODT”,信息為“OPhone Development Tools”的對話框。
結論
本文結合一個簡單實例,討論了ODT所見即所得的可視化界面編輯功能和代碼生成功能。
【編輯推薦】