做自(zì)由與創造的先行者

用(yòng)新版 API 代理(lǐ)

Android開(kāi)發手冊

本課程介紹了(le)如何創建 CompatTab 和(hé) TabHelper 抽象類的子類以及如何使用(yòng)新 API。隻要設備搭載的平台版本支持,您的應用(yòng)就可以在設備上(shàng)使用(yòng)此實現(xiàn)。

使用(yòng)新版 API 實現(xiàn)标簽頁

使用(yòng)新版 API 的 CompatTab 和(hé) TabHelper 的具體類是一種代理(lǐ)實現(xiàn)。由于上(shàng)一課中定義的抽象類反映的是新版 API(類結構、方法簽名等),因此使用(yòng)這(zhè)些(xiē)新版 API 的具體類隻是代理(lǐ)了(le)方法調用(yòng)及其結果。

您可以直接在這(zhè)些(xiē)具體類中使用(yòng)新版 API,而不會(huì)在舊版設備上(shàng)因爲延遲加載類而導緻崩潰。類會(huì)在第一次訪問時(shí)加載并初始化,即首次實例化類或訪問類的某個靜态字段或方法時(shí)。因此,隻要不在 Honeycomb 之前的設備上(shàng)實例化特定于 Honeycomb 的實現(xiàn),Dalvik 虛拟機就不會(huì)抛出任何 VerifyError 異常。

針對(duì)此實現(xiàn)的一種建議(yì)的命名慣例是,附加與這(zhè)些(xiē)具體類所要求的 API 相對(duì)應的 API 級别或平台版本代碼名稱。例如,CompatTabHoneycomb 和(hé) TabHelperHoneycomb 類可以提供原生标簽頁實現(xiàn),因爲這(zhè)兩個類依賴于 Android 3.0(API 級别 11)或更高(gāo)版本中提供的 API。

實現(xiàn) CompatTabHoneycomb

CompatTabHoneycomb 是 TabHelperHoneycomb 用(yòng)來(lái)引用(yòng)各個标簽頁的 CompatTab 抽象類的實現(xiàn)。CompatTabHoneycomb 隻是用(yòng)其所包含的 ActionBar.Tab 對(duì)象代理(lǐ)所有方法調用(yòng)。

實現(xiàn) TabHelperHoneycomb

TabHelperHoneycomb 是 TabHelper 抽象類的實現(xiàn),該實現(xiàn)用(yòng)實際的 ActionBar(從(cóng)它所包含的 Activity 中獲取)來(lái)代理(lǐ)方法調用(yòng)。

網站(zhàn)建設開(kāi)發|APP設計(jì)開(kāi)發|小(xiǎo)程序建設開(kāi)發
下(xià)一篇:創建使用(yòng)舊 API 的實現(xiàn)
上(shàng)一篇:抽象化新 API