Android應(yīng)用程序在同行業(yè)能立足嗎
谷歌公司在與其它幾十個(gè)手機(jī)公司建立了開放手機(jī)聯(lián)盟后,為了推廣手機(jī)Android應(yīng)用程序平臺(tái)的技術(shù),不惜花重金,請(qǐng)了許多業(yè)內(nèi)專家來(lái)共同為Android應(yīng)用程序的未來(lái)進(jìn)行規(guī)劃指導(dǎo)。
Android生成屏幕有三種方式:xml配置生成;通過(guò)你自己用戶界面接口生成;直接用代碼生成。根據(jù)MVC原則,UI應(yīng)該與程序邏輯相分離,因此,在XML中定義UI結(jié)構(gòu)是高度推薦的。此外,一個(gè)程序從一個(gè)屏幕方案調(diào)整到另一個(gè)也容易得多。在XML中定義UI跟創(chuàng)建一個(gè)普通的HTML文檔非常相似,例如,你有如下的一個(gè)文件:
- <html>
- <head>
- <title>PageTitle</title>
- </head>
- <body>
- Thecontentofthebodyelement.
- </body>
- </html>
- 就如Android的XML布局一樣,所有的元素都是結(jié)構(gòu)化的,能夠通過(guò)樹形結(jié)構(gòu)來(lái)表示:
- <?xmlversionxmlversion=”1.0″encoding=”utf-8″?>
- <LinearLayout
- http://schemas.android.com/apk/res/android
- android:orientation=”vertical”
- android:layout_width=”fill_parent”
- android:layout_height=”fill_parent”>
- <TextView
- android:layout_width=”wrap_content”
- android:layout_height=”wrap_content”
- android:text=”HelloWorld”/>
- </LinearLayout>
Android應(yīng)用程序的基礎(chǔ)功能單元就是Activity–android.app.Activity類中的一個(gè)對(duì)象。一個(gè)Activity可以做很多事,但是他自己并不會(huì)顯示到屏幕上。想要讓你的Activity顯示在屏幕上并且設(shè)計(jì)它的UI,你需要使用view和viewgroup–Android平臺(tái)基礎(chǔ)的用戶界面表達(dá)單元。
Views基礎(chǔ)類的對(duì)象。它是一個(gè)存儲(chǔ)有屏幕上特定的一個(gè)矩形內(nèi)布局和內(nèi)容屬性的數(shù)據(jù)結(jié)構(gòu)。一個(gè)View對(duì)象處理測(cè)距和布局。繪圖,焦點(diǎn)變換,滾動(dòng)條,還有屏幕區(qū)域自己表現(xiàn)的按鍵和手勢(shì)。類作為一個(gè)基類,為widget(窗體部件)服務(wù),widget–是一組用于繪制交互屏幕元素的完全實(shí)現(xiàn)子類。
Widget處理它們自己的測(cè)距和繪圖,所以你可以更快速地用它們?nèi)?gòu)建你的UI??捎玫降膚idget包括Text,EditText,InputMethod,Button,RadioButton,Checkbox,和ScrollView……。一個(gè)ViewGroup是一個(gè)android.view.Viewgroup類的對(duì)象。正如同它的名字表明的一樣,一個(gè)viewgroup是一個(gè)特殊的view對(duì)象。
它的功能是去裝載和管理一組下層的view和其他viewgroup,Viewgroup讓你可以為你的UI增加結(jié)構(gòu)并且將復(fù)雜的屏幕元素構(gòu)建成一個(gè)獨(dú)立的實(shí)體。group類作為一個(gè)基類為layout(布局)服務(wù),layout–是一組提供屏幕界面通用類型的完全實(shí)現(xiàn)子類。layout讓你可以為一組view構(gòu)建一個(gè)結(jié)構(gòu)。
一個(gè)樹形結(jié)構(gòu)的界面在Android應(yīng)用程序上,你用view樹和viewgroup節(jié)點(diǎn)來(lái)定義一個(gè)Activity的UI,就如同下面圖表一樣。這個(gè)樹可以如你需要那樣簡(jiǎn)單或者復(fù)雜,并且你可以使用Android的預(yù)定義widget和layout或者你自定義的view類型來(lái)構(gòu)建它。
【編輯推薦】