備注:一下內容為本人手工翻譯官方文檔注解,如有翻譯不到位的地方,歡迎批評指正;
ADT(Android開發工具)是Eclipse的插件,它提供了一套與Eclipse IDE集成的工具。它可以讓您訪問許多功能,幫助您快速開發Android應用程序。ADT提供對許多命令行SDK工具的GUI訪問以及用於快速原型設計,設計和構建應用程序用戶界面的UI設計工具。
因為ADT是Eclipse的插件,您可以獲得一個完善的IDE的功能,以及與ADT捆綁在一起的Android特有功能。以下介紹Eclipse和ADT的重要功能:
- 集成的Android項目創建,構建,打包,安裝和調試
- ADT將許多開發工作流任務集成到Eclipse中,方便您快速開發和測試您的Android應用程序。
- SDK工具集成
- 許多 SDK工具集成到Eclipse的菜單,透視圖中,或作為ADT運行的后台進程的一部分。
- Java編程語言和XML編輯器
- Java編程語言編輯器包含常見的IDE功能,例如編譯時語法檢查,自動完成和Android框架API的集成文檔。 ADT還提供自定義的XML編輯器,可讓您在基於表單的UI中編輯Android特定的XML文件。圖形布局編輯器允許您使用拖放界面設計用戶界面。
- Android框架API的集成文檔
- 您可以通過將鼠標懸停在類,方法或變量上來訪問文檔。
SDK工具集成
需要幫助設計圖標?
您可以從命令行啟動或運行的許多工具集成到ADT中。他們包括:
- Traceview:允許您配置程序的執行(Window> Open Perspective> Traceview)。
- android:提供對Android SDK Manager和AVD Manager的訪問。其他
android
功能(如創建或更新項目(應用程序和庫))集成在整個Eclipse IDE中。 - 層次查看器:允許您可視化應用程序的視圖層次結構以找到低效(Window> Open Perspective> Hierarchy Viewer)。
- 像素完美:讓您仔細檢查您的UI,以幫助設計和構建。(Window> Open Perspective> Pixel Perfect)。
- DDMS:提供調試功能,包括:屏幕捕獲,線程和堆信息以及logcat(Window> Open Perspective> DDMS)。
- adb:提供從開發系統訪問設備。
adb
集成到ADT中的一些功能, 如項目安裝(Eclipse運行菜單),文 - 件傳輸,設備枚舉和logcat(DDMS)。您必須
adb
從命令行訪問更高級的功能,如shell命令。 - ProGuard:允許代碼混淆,縮小和優化。如果啟用它,ADT將ProGuard作為構建的一部分進行集成。
代碼編輯器
除了Eclipse的標准編輯器功能之外,ADT還提供自定義XML編輯器,以幫助您以基於表單或圖形模式創建和編輯Android清單,資源,菜單和布局。雙擊Eclipse軟件包資源管理器中的XML文件將打開相應的XML編輯器。
注意:您可以在圖形模式和XML標記模式下編輯Android特定的XML文件(如布局或清單)。您可以在每個自定義XML編輯器底部的兩個選項卡之間切換這些模式。
另外,一些沒有自定義編輯器的特殊文件類型,例如可繪制,動畫和顏色文件提供了編輯增強功能,如XML標簽完成。
ADT提供以下基於表單的XML編輯器:
- 圖形布局編輯器
-
使用拖放界面編輯和設計您的XML布局文件。布局編輯器也會渲染您的界面,為您設計布局時提供預覽。當您打開具有聲明的視圖(通常聲明為)的XML文件時,將調用此編輯器
res/layout
。有關詳細信息,請參閱 圖形布局編輯器。 - Android清單編輯器
-
使用簡單的圖形界面編輯Android清單。打開
AndroidManifest.xml
文件時會調用此編輯器。 - 菜單編輯器
-
使用簡單的圖形界面編輯菜單組和項目。當您使用
<menu>
聲明(通常位於res/menu
文件夾中)打開XML文件時,將調用此編輯器。 - 資源編輯
-
用簡單的圖形界面編輯資源。當您打開
<resources>
標簽聲明的XML文件時,將調用此編輯器。 - XML資源編輯器
- 使用簡單的圖形界面編輯XML資源。打開XML文件時會調用此編輯器。
資源鏈接增強
除了Eclipse的正常代碼編輯功能之外,ADT還提供對Android開發體驗的增強功能,可讓您快速跳轉到各種類型的資源(如字符串或布局文件)的聲明。您可以通過按住控制鍵並單擊以下項目來訪問這些增強功能:
- 資源標識符(例如
R.id.button1
)跳轉到視圖的XML定義。 R.java
文件中的聲明,如public static final int Button01=0x7f050000"
跳轉到相應的XML定義。- 清單中的活動或服務定義,如
<activity android:name=".TestActivity">
跳轉到相應的Java類。您可以從活動定義(或服務定義)跳轉到相應的Java類。 - 您可以跳轉到任何值定義(例如
@string:foo
),無論在哪個XML文件中定義了“foo”。 - 任何基於文件的聲明,如
@layout/bar
打開文件。 - 非XML資源,例如
@drawable/icon
,為給定的文件類型啟動Eclipse的默認應用程序,在這種情況下,它是一個圖像。 @android
命名空間資源打開SDK安裝區域中的資源。- XML布局中的自定義視圖,如
<foo.bar.MyView></foo.bar.MyView>
或<view class="foo.bar.MyView">
)跳轉到相應的自定義視圖類。 - 諸如
@android:string/ok
或android.R.string.id
Java代碼之類的XML屬性打開聲明字符串的文件。執行此操作時,將打開XML選項卡,而不是基於表單的編輯器。
圖形布局編輯器
ADT提供了許多功能,允許您設計和構建應用程序的用戶界面。許多這些功能都在圖形布局編輯器中,您可以通過在Eclipse中打開一個應用程序的XML布局文件來訪問它們。
圖形布局編輯器是用於視覺設計和構建UI的主屏幕。它分為以下幾部分:
- 帆布
-
編輯的中間是畫布。它提供了您的布局的渲染視圖,並支持直接從調色板拖放UI小部件。您可以選擇用於在畫布中呈現項目的平台版本。每個平台版本都有自己的外觀和感覺,這可能與其他平台版本類似或截然不同。畫布為當前選擇的平台版本呈現適當的外觀和感覺。此平台版本不需要與應用程序所針對的版本相同。
畫布還在布局操作欄中提供上下文相關的操作,例如調整布局邊距和方向。布局操作欄根據畫布中選定的UI元素顯示可用的操作。
- 大綱
- 編輯器的右側是大綱視圖。它顯示您的布局的分層視圖,您可以在其中執行諸如重新排列視圖的操作。大綱視圖顯示與畫布類似的功能,但將其布局顯示在有序列表中,而不是呈現的預覽。
- 調色板
- 編輯器的左側是調色板。它提供了一組可拖動到畫布上的小部件。調色板顯示了小部件的預覽,以便於查找所需的UI小部件。
- 配置選擇器
- 編輯器的頂部是配置選擇器。它提供了更改布局的渲染模式或屏幕類型的選項。''
-
帆布和輪廓視圖
畫布是您可以從調色板拖放UI小部件以設計布局的區域。畫布根據您在配置選擇器中指定的所選平台版本,屏幕方向以及當前選定的主題等因素,提供了布局的渲染預覽。您還可以將項目拖放到大綱視圖中,這將在布局列表中顯示布局。大綱視圖顯示了與畫布大致相同的功能,但提供了另一種組織方法,有利於排序和快速選擇項目。當您右鍵單擊畫布或大綱視圖中的特定項目時,可以訪問上下文相關菜單,該菜單允許您修改布局或視圖的以下屬性:
- 查看和布局屬性
-
當您右鍵單擊畫布或大綱視圖中的視圖或布局時,它將顯示一個上下文相關菜單,可讓您設置以下內容:
- 視圖或布局的ID
- 視圖的文字
- 布局寬度
- 布局高度
- 屬性如alpha或可點擊
- 動畫預覽和創作
-
如果您的布局或視圖是動畫的,您可以直接在畫布中預覽動畫(當您在配置選擇器中選擇Android 3.0或更高版本作為平台版本)時。右鍵單擊畫布中的項目,然后選擇
播放動畫。如果動畫未與項目相關聯,則菜單中可以使用一個選項來創建。
查看動畫功能的細分,了解更多信息。
- 提取為包含
- 您可以將當前布局的部分提取到自己的布局文件中,然后您可以使用單行XML包含在任何布局中。有關詳細信息,請參閱 布局重構支持。
-
其他畫布功能
畫布具有在大綱視圖中不可用的附加功能:
- 使用布局操作欄編輯視圖:上下文相關的布局操作欄允許您編輯視圖在UI中的布局方式。可用的操作取決於當前選定的視圖及其父布局。一些常見的操作包括切換視圖的填充模式和指定邊距。例如,如果你選擇
Button
在LinearLayout
,你看相關的行動LinearLayout
,如切換到橫向和縱向布局之間進行切換,並且切換控制是否其子沿着它們的文本基線對齊。您還將看到工具欄操作來控制孩子的各個布局屬性,例如孩子是否應伸展以匹配其父級的寬度和高度,下拉動作設置孩子的布局重力, - 在當前上下文中編輯嵌套布局:如果要編輯包含其他布局的布局,則可以在包含布局的布局中編輯包含的布局。
- 預覽拖放位置:當您將UI小部件拖放到畫布上時,標尺標記會顯示UI窗口小部件的大致位置,具體取決於布局的類型,例如
RelativeLayout
或LinearLayout
。 - 預覽動畫:當您在配置欄中為平台版本選擇Android 2.1或更高版本時,可以預覽視圖和布局動畫。
- 實時渲染布局:根據平台版本(包括適當的系統和操作欄)盡可能准確地呈現布局。
- 支持片段:片段可以在與包含片段的布局相同的屏幕中呈現。
圖2.布局編輯器的畫布部分顯示應用程序的渲染預覽
圖3.顯示當前布局結構的大綱視圖'
調色板
調色板包含可以拖放到畫布上並添加到布局的UI小部件。托盤將窗口小部件分類並顯示呈現的預覽,以便更容易查找。調色板的主要特點包括:
- 渲染預覽的不同模式包括:僅圖標,圖標和文字,小預覽,小預覽和預覽(以實際大小呈現)。預覽僅適用於使用最新版本的Android 2.1(API級別7)或更高版本呈現的布局。
- 您的項目或圖書館項目中的自定義視圖將添加在自定義視圖類別下。
- 按字母順序或按類別排列UI小部件。
圖4.顯示可用UI小部件的調色板
配置選擇器
配置選擇器允許您為不同的情況創建和配置不同的布局配置,例如一個用於橫向,一個用於縱向模式。您可以為布局的每個配置設置以下選項:
- 屏幕類型組合框:常用設備配置的預定義屏幕設置。您還可以通過選擇自定義...來創建自己的。
- 屏幕方向組合框:縱向或橫向屏幕方向。
- 主題組合框:預定義的主題或您創建的自定義主題。
- 平台組合框:用於渲染畫布和調色板以及顯示適當主題的平台版本。
- 自定義布局組合框:根據設備的當前狀態,可以根據設備的當前狀態,選擇不同版本的相同布局的區域設置,停靠和時間組合框。您可以使用“ 創建 ”按鈕創建新版本的布局。
布局重構支持
在圖形和XML布局編輯器中,有許多功能可以幫助您快速重構布局。以下列表描述了主要的重構支持:
- 更改布局
-
這可以讓您隨時更改布局,並為您重新繪制畫布。您可以將此重構應用於任何布局,如果可能,布局將轉換為新類型。在許多情況下,布局的XML元素的打開和關閉標簽隨着ID屬性及其引用的變化而改變。但是,對於某些受支持的類型,ADT會嘗試保留布局,例如將a更改
LinearLayout
為aRelativeLayout
。 - 更改窗口小部件
-
這允許您選擇一個或多個小部件並將其轉換為新的小部件類型。除了更改元素名稱之外,它還會刪除新的窗口小部件類型不支持的任何屬性,並添加新窗口小部件類型所需的任何強制屬性。如果窗口小部件的當前ID包含其ID中的當前窗口小部件類型(例如,
<Button>
命名的窗口小部件"button1"
),則更改ID以匹配新的窗口小部件類型,並更新所有引用。 - 提取為包括
-
這樣可以將現有布局中的視圖提取到自己單獨的布局文件中。
include
指向新創建的布局文件的標簽將插入到現有布局文件中。右鍵單擊視圖或布局,然后選擇“ 提取為包含...”。 - 提取字符串
- 將XML或Java文件中的字符串提取到自己單獨的資源文件中。
- 提取樣式
-
從布局中提取樣式相關屬性,並在新
styles.xml
文件中定義它們 。您可以選擇多個視圖,此重構將所有相同的樣式提取為一種樣式,並將該樣式分配給所有使用它的視圖。 - 包裝容器
-
這可以讓您選擇一個或多個兄弟元素並將其包裝在新的容器中。這也可以應用於根元素,在這種情況下,命名空間聲明屬性將被傳遞到新的根。這個重構也會將屬性
layout_
引用傳遞給新的根,例如,假設你有一個RelativeLayout
。如果其他小部件具有指向您的小部件的布局約束,則包裝小部件將導致這些約束指向父代。 - 快速助理
- 根據當前上下文提供重構建議。在編輯器中按 Ctrl-1(或Mac上的 Cmd-1),Eclipse會根據上下文提供可能的重構列表。快速助手可以快速訪問所有上述重構(如適用)。例如,如果您正在編輯XML值並確定要將其解壓縮為字符串,請將文本光標放在字符串中,然后按Ctrl-1查看重構上下文菜單。
'
- 使用布局操作欄編輯視圖:上下文相關的布局操作欄允許您編輯視圖在UI中的布局方式。可用的操作取決於當前選定的視圖及其父布局。一些常見的操作包括切換視圖的填充模式和指定邊距。例如,如果你選擇