關(guān)于Android支持的的個人理解

支持庫

Android 支持庫提供了諸多未內(nèi)置于框架的功能。這些庫提供向后兼容版本的新功能谆刨、框架中未包含的實(shí)用 UI 元素筹燕,以及應(yīng)用可以利用的一系列實(shí)用程序恶耽。

概覽

許多情況下,某項(xiàng)功能可能對應(yīng)用開發(fā)者很有用决左,但是添加到 Android 框架卻并不合適愕够。例如走贪,某個應(yīng)用可能僅需要用于特定用例的某項(xiàng)功能,如在不同版本的 Android 系統(tǒng)之間順暢切換惑芭。

為了解決這一問題坠狡,Android SDK 添加了多個庫,這些庫統(tǒng)稱為?Android 支持庫遂跟。如果應(yīng)用開發(fā)者想要在應(yīng)用中集成庫功能逃沿,他們可以添加其中任意一個庫。

支持庫提供一系列不同的功能:

向后兼容版本的框架組件漩勤。

用于實(shí)現(xiàn)建議的 Android?布局模式的 UI 元素感挥。

支持不同的設(shè)備類型

其他實(shí)用程序功能越败。

向后兼容性

支持庫可以讓在舊版本 Android 平臺上運(yùn)行的應(yīng)用支持為新版本平臺推出的功能触幼。例如,應(yīng)用在依賴于框架類的 5.0(API 級別 21)版本以下的 Android 系統(tǒng)上運(yùn)行時究飞,將無法顯示 Material Design 元素置谦,因?yàn)樵摪姹镜?Android 框架不支持 Material Design。但是亿傅,如果此應(yīng)用添加了支持庫的?appcompat 庫媒峡,則可以訪問 API 級別 21 中具有的許多功能,其中包括對 Material Design 的支持葵擎。因此谅阿,您的應(yīng)用可以在多個平臺版本中提供更為一致的體驗(yàn)。

某些情況下酬滤,類的支持庫版本很大程度上取決于框架提供的功能签餐。因此,如果應(yīng)用調(diào)用其中一個支持類的方法盯串,則支持庫的行為將取決于運(yùn)行應(yīng)用的 Android 版本氯檐。如果框架提供必要的功能,則支持庫將通過調(diào)用框架執(zhí)行任務(wù)体捏。如果應(yīng)用在舊版本的 Android 上運(yùn)行冠摄,且框架未顯示所需的功能,則支持庫自身可能會嘗試提供功能或什么都不做几缭。無論是哪一種情形河泳,應(yīng)用通常都不需要檢查其在哪一版本的 Android 上運(yùn)行,而是通過支持庫執(zhí)行檢查并選擇適當(dāng)?shù)男袨樽嗨尽MǔG闆r下乔询,名稱以?…Compat(如?ActivityCompat)結(jié)束的類即是如此。

而另外一些情況下韵洋,支持庫類提供一個不依賴于任何框架 API 可用性的完整竿刁、獨(dú)立版框架類。這些方法可以在支持的所有平臺中提供一致的行為搪缨。

無論是哪一種情形食拜,應(yīng)用均無需在運(yùn)行期間檢查系統(tǒng)版本。應(yīng)用可通過支持庫類執(zhí)行適當(dāng)?shù)南到y(tǒng)檢查副编,并在必要時修改其行為负甸。

圖 1.?由于此應(yīng)用使用支持庫 UI 元素,即使是在對 Material Design 不提供原生支持的 Android 4.4 上運(yùn)行痹届,其界面仍符合 Material Design 原則呻待。


支持一般布局模式

支持庫提供 Android 框架中未提供的用戶界面元素。例如队腐,Android 支持庫提供其他布局類蚕捉,如?DrawerLayout。這些類遵循建議的 Android 設(shè)計做法柴淘;例如迫淹,設(shè)計庫以一種適合多個 Android 版本的方式遵循 Material Design 的原則。

通過使用這些支持庫類为严,您可以避免做一些重復(fù)性工作敛熬;如果應(yīng)用有特殊的用戶界面要求,您可以利用現(xiàn)有代碼第股,這些代碼將提供用戶已經(jīng)熟悉的用戶界面应民。這些元素還可以幫助您開發(fā)看起來像 Android 生態(tài)系統(tǒng)一部分的應(yīng)用。例如夕吻,許多應(yīng)用需要顯示任意長的元素列表诲锹,且需要能夠在列表發(fā)生變化時快速有效地重復(fù)使用這些元素;這可以是電子郵件列表梭冠、聯(lián)系人列表以及音樂專輯列表辕狰,等等。這些應(yīng)用可以使用支持庫?RecyclerView?小部件顯示列表控漠。這既可以讓應(yīng)用開發(fā)者不必從頭開始開發(fā)列表蔓倍,又能確保用戶看到一個外觀和行為與其他應(yīng)用中的列表類似的列表。

支持不同的設(shè)備類型

Android SDK 為 TV 和穿戴式設(shè)備等多種不同的設(shè)備類型提供庫盐捷。應(yīng)用可以通過相應(yīng)的支持庫為各種平臺版本提供功能偶翅,且可以在外部屏幕、揚(yáng)聲器和其他目標(biāo)設(shè)備上提供內(nèi)容碉渡。

一般實(shí)用程序

Android 支持庫提供后向兼容的實(shí)用程序功能聚谁。應(yīng)用可以使用這些實(shí)用程序功能為各種 Android 系統(tǒng)版本提供相應(yīng)的用戶體驗(yàn)。例如滞诺,支持庫的權(quán)限處理方式取決于運(yùn)行應(yīng)用的平臺版本形导。如果平臺支持運(yùn)行時權(quán)限模式环疼,這些方法會向用戶請求相應(yīng)的權(quán)限;在不支持運(yùn)行時權(quán)限模式的平臺版本中朵耕,這些方法將在安裝時檢查是否已獲得相應(yīng)的權(quán)限炫隶。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市阎曹,隨后出現(xiàn)的幾起案子伪阶,更是在濱河造成了極大的恐慌,老刑警劉巖处嫌,帶你破解...
    沈念sama閱讀 221,888評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件栅贴,死亡現(xiàn)場離奇詭異,居然都是意外死亡熏迹,警方通過查閱死者的電腦和手機(jī)檐薯,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,677評論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來癣缅,“玉大人厨剪,你說我怎么就攤上這事∮汛妫” “怎么了祷膳?”我有些...
    開封第一講書人閱讀 168,386評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長屡立。 經(jīng)常有香客問我直晨,道長,這世上最難降的妖魔是什么膨俐? 我笑而不...
    開封第一講書人閱讀 59,726評論 1 297
  • 正文 為了忘掉前任勇皇,我火速辦了婚禮,結(jié)果婚禮上焚刺,老公的妹妹穿的比我還像新娘敛摘。我一直安慰自己,他們只是感情好乳愉,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,729評論 6 397
  • 文/花漫 我一把揭開白布兄淫。 她就那樣靜靜地躺著,像睡著了一般蔓姚。 火紅的嫁衣襯著肌膚如雪捕虽。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,337評論 1 310
  • 那天坡脐,我揣著相機(jī)與錄音泄私,去河邊找鬼。 笑死,一個胖子當(dāng)著我的面吹牛晌端,可吹牛的內(nèi)容都是我干的捅暴。 我是一名探鬼主播,決...
    沈念sama閱讀 40,902評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼斩松,長吁一口氣:“原來是場噩夢啊……” “哼伶唯!你這毒婦竟也來了觉既?” 一聲冷哼從身側(cè)響起惧盹,我...
    開封第一講書人閱讀 39,807評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎瞪讼,沒想到半個月后钧椰,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,349評論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡符欠,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,439評論 3 340
  • 正文 我和宋清朗相戀三年嫡霞,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片希柿。...
    茶點(diǎn)故事閱讀 40,567評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡诊沪,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出曾撤,到底是詐尸還是另有隱情端姚,我是刑警寧澤,帶...
    沈念sama閱讀 36,242評論 5 350
  • 正文 年R本政府宣布挤悉,位于F島的核電站渐裸,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏装悲。R本人自食惡果不足惜昏鹃,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,933評論 3 334
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望诀诊。 院中可真熱鬧洞渤,春花似錦、人聲如沸属瓣。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,420評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽奠涌。三九已至宪巨,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間溜畅,已是汗流浹背捏卓。 一陣腳步聲響...
    開封第一講書人閱讀 33,531評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人怠晴。 一個月前我還...
    沈念sama閱讀 48,995評論 3 377
  • 正文 我出身青樓遥金,卻偏偏與公主長得像,于是被迫代替她去往敵國和親蒜田。 傳聞我的和親對象是個殘疾皇子稿械,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,585評論 2 359

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,302評論 25 707
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)冲粤,斷路器美莫,智...
    卡卡羅2017閱讀 134,702評論 18 139
  • 一、定了很多專欄怎么舍取 T型組合>精專練習(xí)一門>看精選信息>看書>看朋友圈 給自己看的知識分類: 1.提高人生眼...
    唐花花閱讀 107評論 0 0
  • 我試試怎麼發(fā)文章
    不要火腿多放胡蘿蔔閱讀 144評論 0 0
  • 這個冬天梯捕,在想念中奔跑厢呵。 永不融化的雪山, 清靜古遠(yuǎn)的街道傀顾, 你就在那里襟铭, 開心地 笑啊笑。 這個冬天短曾,在回憶中奔...
    山河一夢閱讀 363評論 3 5