詳解OPhone可視化軟件開(kāi)發(fā)工具ODT
編者按:OPhone手機(jī)操作系統(tǒng)是由中國(guó)移動(dòng)主導(dǎo)高端手機(jī)操作系統(tǒng),作為我國(guó)自有知識(shí)產(chǎn)權(quán)的產(chǎn)品,廣受業(yè)界關(guān)注。本文為《程序員》2010年第六期精品文章,作者是中國(guó)移動(dòng)通信研究院終端技術(shù)研究所軟件工程師柳陽(yáng)博士。本文主要介紹了結(jié)合一個(gè)簡(jiǎn)單實(shí)例,展示了ODT所見(jiàn)即所得的可視化界面編輯功能和代碼生成功能。
OPhone可視化軟件開(kāi)發(fā)工具(OPhone Development Tools,ODT)是專為OPhone平臺(tái)開(kāi)發(fā)者設(shè)計(jì)的一整套可視化軟件開(kāi)發(fā)工具。在兼容ADT(Android Development Tools)的基礎(chǔ)上,ODT提供了所見(jiàn)即所得、控件可拖放、屬性可編輯、代碼可自動(dòng)生成、支持OPhone UI樣式的界面編輯器。通過(guò)可視化編輯的方式,ODT可以方便快捷地構(gòu)建OPhone應(yīng)用程序的界面,并自動(dòng)生成OPhone應(yīng)用程序界面代碼。ODT可以把開(kāi)發(fā)人員從繁瑣的UI設(shè)計(jì)中解脫出來(lái),使之更關(guān)注應(yīng)用程序內(nèi)部邏輯的實(shí)現(xiàn),從而提高軟件開(kāi)發(fā)效率。
ODT的軟件架構(gòu)
ODT是Eclipse IDE的插件,在兼容ADT的基礎(chǔ)上,提供了所見(jiàn)即所得的可視化界面編輯器(OPhone Layout Editor)和強(qiáng)大的代碼生成功能。ODT軟件架構(gòu)如圖1所示。
圖1 ODT軟件架構(gòu)圖
可視化界面編輯器(OPhone Layout Editor)
圖2 可視化界面編輯器的界面
可視化界面編輯器以鼠標(biāo)拖拽的方式完成應(yīng)用程序界面的構(gòu)建,可以自動(dòng)生成界面描述文件、界面類和控件事件處理代碼,從而實(shí)現(xiàn)所見(jiàn)即所得的應(yīng)用程序界面的編輯功能。如圖2所示,可視化界面編輯器由四個(gè)部分組成:
主界面編輯器(Main UI Editor)
主界面編輯器是應(yīng)用界面編輯的主窗口,開(kāi)發(fā)者可以通過(guò)鼠標(biāo)拖拽的方式完成應(yīng)用界面的編輯。此外,主界面編輯器還提供背景網(wǎng)格、對(duì)齊、復(fù)制、剪切、粘貼、分辨率設(shè)置等功能。
控件面板(Widget Palette)
控件面板以分組的形式顯示所有控件,包括控件、布局和自定義控件。其中,控件指不可以嵌套子控件的普通控件,布局指可以嵌套子控件的控件,自定義控件指開(kāi)發(fā)者自己開(kāi)發(fā)的控件。開(kāi)發(fā)者可以從控件面板中拖放控件至主界面編輯器。
界面大綱視圖(Outline View)
界面大綱視圖用樹(shù)形結(jié)構(gòu)描述控件之間的包含關(guān)系。在該視圖中,開(kāi)發(fā)者可以方便地瀏覽和選擇界面中的控件。
屬性編輯器(Properties Editor)
屬性編輯器顯示當(dāng)前選中控件的屬性。所有控件屬性以列表的形式展示,每個(gè)屬性包含屬性名稱和屬性值兩列。
創(chuàng)建HelloOPhone應(yīng)用
下面,我們將使用ODT完成一個(gè)簡(jiǎn)單應(yīng)用的開(kāi)發(fā),以幫助開(kāi)發(fā)者快速掌握ODT的使用方法。其中,重點(diǎn)講述了OPhone應(yīng)用程序界面的構(gòu)建方法。
安裝OPhone SDK與ODT
在開(kāi)發(fā)OPhone應(yīng)用之前,首先需要安裝OPhone SDK 2.0與ODT。
創(chuàng)建工程:
ODT提供了新工程向?qū)?,可以使用該向?qū)Э焖賱?chuàng)建一個(gè)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”完成創(chuàng)建。
編輯界面:
1. 雙擊HelloOPhone工程的res\layout\main.xml文件,打開(kāi)可視化界面編輯器。
2. 選中主界面編輯器中的內(nèi)容為“Hello World,Hello OPhone!”的TextView控件,右鍵>Remove,刪除該控件。
3. 在控件面板的Widgets欄中,選擇Button控件,按住左鍵不放拖拽到主界面編輯器中。按照同樣的方式拖拽DatePicker控件和另一個(gè)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事件,點(diǎn)擊OK后自動(dòng)生成并打開(kāi)名為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函數(shù)中,添加下面的事件響應(yīng)代碼,并導(dǎo)入所需的包(android.app.AlertDialog),然后保存。
- // Popup a AlertDialog
- new AlertDialog.Builder(HelloOPhone.this)
- .setTitle("ODT")
- .setMessage("OPhone
- Development Tools")
- .setPositiveButton
- ("OK",null)
- .setCancelable(false)
- .show();
創(chuàng)建啟動(dòng)配置
在運(yùn)行和調(diào)試OPhone程序之前,必須先創(chuàng)建一個(gè)啟動(dòng)配置(Run Configurations)。通過(guò)下面的步驟創(chuàng)建啟動(dòng)配置:
1. 在工程上,右鍵單擊Run as>Run Configurations。
2. 在左側(cè)的樹(shù)型工程列表中,右鍵單擊OPhone Application,并選擇New。
3. 在出現(xiàn)的對(duì)話框中輸入該配置的名字HelloOPhone。
4. 在下面的Android表單中,點(diǎn)擊Browse找到HelloOPhone工程。
5. 在Target表單中,選中OPhone 2.0的AVD (Android Visual Divice)。
6. 點(diǎn)擊Apply按鈕,保存配置,或者點(diǎn)擊Run或Debug按鈕運(yùn)行該應(yīng)用。
運(yùn)行并查看結(jié)果:
1. 在工程上,右鍵單擊>Run As>OPhone Application,運(yùn)行HelloOphone工程。
2. 模擬器成功啟動(dòng),比較主界面編輯器中的界面與模擬器中的界面。如圖4所示,主界面編輯器中的界面(左)與模擬器中的界面(右)是一致的。唯一的不同是模擬器中的DatePicker控件獲取了系統(tǒng)的日期,而編輯狀態(tài)下的界面無(wú)法獲取系統(tǒng)的日期。
3. 單擊“彈出Dialog”按鈕,彈出標(biāo)題為“ODT”,信息為“OPhone Development Tools”的對(duì)話框。
結(jié)論
本文結(jié)合一個(gè)簡(jiǎn)單實(shí)例,討論了ODT所見(jiàn)即所得的可視化界面編輯功能和代碼生成功能。
【編輯推薦】