Android 3.2 API

API 級別: 13

Android 3.2 (HONEYCOMB_MR2) 是漸進式平台版本,當中加入 且適用於使用者和開發人員以下各節提供簡介。 新功能和開發人員 API

開發人員可以使用 Android 3.2 平台 適用於 Android SDK 的可下載元件。可下載的平台包括 Android 程式庫和系統映像檔,以及一組模擬器外觀 內容。如要開始針對 Android 3.2 進行開發或測試 使用 Android SDK Manager 將這個平台下載到 SDK。

平台特點

新使用者功能

  • 針對各種平板電腦進行最佳化調整

    Android 3.2 版包含多項系統最佳化功能 ,確保他們在更多不同的平板電腦裝置上都能提供優質的使用者體驗。

  • 固定大小應用程式的相容性縮放功能

    Android 3.2 版導入了全新的相容性縮放模式, 讓使用者能以全新方式在大型裝置上檢視固定大小的應用程式。新模式提供 針對非像素大小的應用程式,提供標準 UI 縮放的替代方法 專為在大螢幕 (例如平板電腦) 上放送而設計。新的模式是 使用者可透過系統列中的選單圖示,存取需要的應用程式 支援相容性。

  • 從 SD 卡同步處理媒體

    在支援 SD 卡的裝置上,使用者現在可以直接載入媒體檔案 從 SD 卡轉移至使用這些位置的應用程式系統服務供應商 存取系統媒體商店的應用程式。

新開發人員功能

  • 用於管理螢幕支援的擴充 API

    Android 3.2 針對平台螢幕支援 API 推出了擴充功能, 為開發人員提供了更多樣的管理應用程式 UI 的方式, Android 裝置。API 包含新的資源限定詞和 資訊清單屬性,可讓您更精確地控制 應用程式會以不同大小顯示,而非一味追求一般化 大小類別。

    針對固定大小的應用程式和受限的應用程式提供最佳顯示效果 平台可支援各種螢幕大小 相容模式,可在較小的螢幕區域中算繪 UI,然後縮放 UI 來填滿顯示畫面的可用空間如要進一步瞭解 螢幕支援 API 及其提供的控制項,請參閱以下各節。

API 總覽

螢幕支援 API

Android 3.2 推出了新的螢幕支援 API,為您提供更多功能 控管應用程式在不同螢幕大小上的顯示方式。 這個 API 以現有的螢幕支援 API 為基礎,包括平台的 整體螢幕密度模型,也進一步延伸; 依維度指定特定螢幕範圍,從 密度獨立像素單位 (例如 600dp 或 720dp 寬度),而非 根據概略螢幕大小 (例如大或超大)

設計應用程式的 UI 時,您仍然可以仰賴這個平台 提供像素密度抽象化機制,讓應用程式不需要 彌補不同裝置的實際像素密度差異。個人中心 可根據水平或垂直的 可用空間。這個平台使用三個新 特性:smallestWidthwidthheight

  • 螢幕的 smallestWidth 是基本大小下限 是以密度獨立像素 (「dp」) 單位為單位。螢幕的高度,或是 是兩者中較短的句子如果是直向的螢幕, smallestWidth 通常以寬度為依據,如果是橫向,則以橫向為準 測量出的高度在所有情況下, smallestWidth 衍生自 無論螢幕方向為何,這個值都不會改變。smallestWidth 對應用程式的重要性十分重要 必須繪製應用程式 UI 的地方,不包括螢幕區域 由系統保留。
  • 相較之下,螢幕的寬度高度代表 應用程式版面配置目前可用的水平或垂直空間,測量單位為 以「dp」為單位單位,不含系統保留的螢幕區域。寬度和 當使用者在橫向之間切換時,畫面高度會隨之改變 直向和直向影片

新的螢幕支援 API 旨在讓您管理應用程式使用者介面 以目前螢幕的 smallestWidth 為依據。您也可以管理 視需要根據目前寬度或高度調整 UI。基於上述目的 提供以下工具:

  • 新增資源限定詞,用於將版面配置和其他資源 最小 smallestWidth、寬度或高度,以及
  • 新的資訊清單屬性,用於指定應用程式上限 螢幕相容性範圍

此外,應用程式仍可查詢系統、管理使用者介面,以及 和舊版平台一樣,在執行階段載入資源。

由於新的 API 可讓您直接透過 smallestWidth 指定畫面, 可協助您瞭解 以及不同螢幕類型的特性下表提供一些 範例,以「dp」為單位。

表 1. 一般裝置 (含密度) 並以 dp 為單位

類型 密度 (一般化) 尺寸 (dp) smallestWidth (dp)
基準手機 mdpi 320x480 320
小型平板電腦/大型手機 mdpi 480x800 480
7 吋平板電腦 mdpi 600x1024 600
10 吋平板電腦 mdpi 800x1280 800

以下各節將提供新畫面限定詞的詳細資訊 和資訊清單屬性如需螢幕使用說明的完整資訊 支援 API,請參閱支援多個 螢幕

支援畫面的新資源限定詞

Android 3.2 中的全新資源限定詞可讓您更精準地指定版面配置 適合各種螢幕大小範圍使用限定詞就能建立資源 專為特定最小 smallestWidth、目前寬度或 目前的高度 (以密度獨立像素為單位)。

新限定詞如下:

  • swNNNdp:指定最小的 smallestWidth 應使用的資源,單位為「dp」。如前所述 螢幕的 smallestWidth 是常數,無論方向為何。範例: sw320dpsw720dpsw720dp
  • wNNNdphNNNdp:指定最小值 應使用資源的寬度或高度,以「dp」為單位。阿斯 螢幕的寬度和高度 並隨著螢幕方向變更時變更範例: w320dpw720dph1024dp

您也可以視需要建立多個重疊的資源設定。 例如,您可以標記部分資源,以便在寬度超過 480 的螢幕上使用 dp,其他寬度超過 600 dp,其他則適用於大於 720 dp。時間 多個資源設定必須符合特定螢幕的條件,而系統 會選取最相符的設定。為了精確控制 哪些資源會在特定畫面上載入,您可以使用 限定詞,或是結合多個全新或現有的限定詞。

根據前述的一般維度,以下舉幾個例子來說明 可以使用新限定詞:

res/layout/main_activity.xml   # For phones
res/layout-sw600dp/main_activity.xml   # For 7” tablets
res/layout-sw720dp/main_activity.xml   # For 10” tablets
res/layout-w600dp/main_activity.xml   # Multi-pane when enough width
res/layout-sw600dp-w720dp/main_activity.xml   # For large width

舊版平台會忽略新的限定詞, 以便確保應用程式在任何裝置上都能提供良好體驗。這裡 例如:

res/layout/main_activity.xml   # For phones
res/layout-xlarge/main_activity.xml   # For pre-3.2 tablets
res/layout-sw600dp/main_activity.xml   # For 3.2 and up tablets

如需關於如何使用新限定詞的完整資訊,請參閱使用新的 大小限定詞

支援螢幕尺寸相容性的全新資訊清單屬性

架構提供一組新的 <supports-screens> 資訊清單屬性,讓 可讓您管理應用程式對不同螢幕大小的支援。 具體來說,您可以指定應用程式的最大和最小螢幕位置 以及專為執行此應用程式而設計的最大螢幕 而不需要系統的新螢幕 相容性模式。如同上述的資源限定詞 資訊清單屬性可指定應用程式支援的畫面範圍, 由 smallestWidth 指定。

螢幕支援的新資訊清單屬性如下:

  • android:compatibleWidthLimitDp="numDp":這項 屬性讓您指定應用程式要採用的 smallestWidth 所以不需要相容模式就能執行如果目前螢幕大於 系統會以一般模式顯示應用程式,但 允許使用者選擇透過 系統資訊列
  • android:largestWidthLimitDp="numDp":這項 屬性讓您指定應用程式要採用的 smallestWidth 目前主要的運作機制如果目前螢幕大於指定值, 系統會強制應用程式進入螢幕相容模式, 以及目前的畫面
  • android:requiresSmallestWidthDp="numDp":這項 屬性可指定應用程式在 這個 API 可以執行如果目前螢幕小於指定值,系統會 認定應用程式與裝置不相容,但不會妨礙應用程式 並未安裝和執行

注意:Google Play 目前不會進行篩選 您就能根據上述任一屬性定義應用程式系統將支援篩選功能 。需要 根據螢幕大小進行篩選,則可使用現有的 <supports-screens> 屬性。

如需使用新屬性的完整資訊,請參閱宣告 支援螢幕大小

螢幕相容模式

Android 3.2 為應用程式提供新的螢幕相容模式 明確宣告其不支援大螢幕 以及執行中的虛擬機器這項新的「縮放」功能都是以像素為單位做調整 在較小的螢幕區域內算繪應用程式,然後將像素縮放至 填滿目前螢幕。

根據預設,系統會為應用程式提供螢幕相容模式 更是有需要的使用者可使用現成控制項來開啟或關閉縮放模式 。

因為新的螢幕相容模式可能不適合所有廣告客戶使用 這個平台可讓應用程式透過資訊清單停用 屬性。應用程式停用時,系統不會提供「縮放」功能相容性 做為使用者選項

注意:請務必瞭解 如要控制應用程式的相容模式,請參閱 Android 上的大螢幕應用程式適用的新模式一文 開發人員網誌。

支援 720p 電視和類似裝置的全新螢幕密度

為了滿足 720p 電視或類似環境 Android 3.2 導入了中等密度螢幕 tvdpi,約 dpi 為 213。應用程式可以查詢 densityDpi 中的新密度,且可用來 新的 tvdpi 限定詞來標記電視和 搭配類似裝置例如:

res/drawable-tvdpi/my_icon.png   # Bitmap for tv density

一般來說,應用程式不需要使用此密度。情境 要求輸出 720p 螢幕所需的輸出時,可縮放 UI 元素 由平台自動管理。

UI 架構

  • 片段
  • ActivityInfo 和 ApplicationInfo 中的螢幕大小資訊
  • 從 WindowManager 取得顯示大小的輔助程式
  • 全新公開「全像投影」樣式
    • 這個平台現在展示了各式各樣公開的「全像投影」樣式 文字、動作列小工具和分頁等等。詳情請見 R.style 表示完整清單。
  • LocalActivityManagerActivityGroupLocalActivityManager 現已淘汰
    • 新應用程式應使用 Fragment,而非這些類別。目的地: 仍可在舊版平台上運作 但您可以使用第 4 版支援服務 程式庫 (相容性程式庫),可在 Android SDK 中使用。v4 支援 程式庫所提供的 Fragment API 版本,可與以下項目相容 Android 1.6 (API 級別 4)。
    • 針對針對 Android 3.0 (API 級別) 開發的應用程式 11) 以上版本,通常分頁會顯示在使用者介面中 ActionBar.newTab() 和相關 API 將分頁放在動作列區域。

媒體架構

  • 使用平台媒體供應商 (MediaStore) 的應用程式,現在可以直接從 卸除式 SD 卡 (受到裝置支援)。應用程式也可以 使用 MTP API 直接與 SD 卡檔案互動。

圖形

IME 架構

USB 架構

  • 新的 getRawDescriptors() 方法: 擷取裝置的原始 USB 描述元。您可以使用 方法來存取無法透過較高層級 API 級別

網路

電話通訊系統

核心公用程式

新功能常數

平台會新增您可以宣告的新硬體功能常數 納入應用程式資訊清單中,藉此向外部實體告知 Google 體驗必要的軟硬體功能。您要宣告 和 <uses-feature> 資訊清單元素中的其他功能常數。

Google Play 會根據應用程式的 <uses-feature> 屬性篩選應用程式,確保只有符合應用程式規定的裝置才能使用應用程式。

  • 橫向或直向需求的特徵常數

    Android 3.2 版導入了新功能常數,可讓應用程式指定是否需要橫向或直向顯示螢幕。宣告這些常數表示應用程式不得安裝在未提供相關螢幕方向的裝置上。相反地,如未宣告其中一個常數,或兩者皆未宣告,表示應用程式並未採用未宣告方向的偏好,且可能安裝在不提供這些常數的裝置上。

    如果典型的應用程式在橫向和直向模式中都能正常運作,則通常不需要宣告方向要求。相反地,如果是專為一種螢幕方向設計的應用程式 (例如專為電視設計的應用程式),您可以宣告其中一個常數,以確保裝置未提供該螢幕方向的裝置無法使用。

    如果資訊清單要求中宣告的任何活動以特定方向執行, 使用 android:screenOrientation 屬性,這樣也會宣告應用程式 這項方向依舊相當實用

  • 其他功能常數

API 差異報表

如需 Android 3.2 (API) 中所有 API 變更的詳細資料 等級 13),請參閱 API 差異報表

API 級別

Android 3.2 平台提供 架構 APIAndroid 3.2 API 會指派一個整數 ID 13,也就是 儲存於系統本身這個識別碼稱為「API 級別」 系統才能正確判斷 系統進行更新。

如要在應用程式中使用 Android 3.2 中導入的 API, 您需要針對 Android 3.2 SDK 平台您可以視需求 可能 需要新增android:minSdkVersion="13" 屬性設為應用程式所用 <uses-sdk> 元素中的 資訊清單。

詳情請參閱「什麼是 API? 關卡?