最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

總是聽到有人說AndroidX,到底什么是AndroidX

 更新時間:2020年05月19日 11:12:49   作者:guolin  
這篇文章主要介紹了總是聽到有人說AndroidX,到底什么是AndroidX,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

Android技術(shù)迭代更新很快,各種新出的技術(shù)和名詞也是層出不窮。不知從什么時候開始,總是會時不時聽到AndroidX這個名詞,這難道又是什么新出技術(shù)嗎?相信有很多朋友也會存在這樣的疑惑,那么今天我就來寫一篇科普文章,向大家介紹AndroidX的前世今生。

Android系統(tǒng)在剛剛面世的時候,可能連它的設(shè)計者也沒有想到它會如此成功,因此也不可能在一開始的時候就將它的API考慮的非常周全。隨著Android系統(tǒng)版本不斷地迭代更新,每個版本中都會加入很多新的API進去,但是新增的API在老版系統(tǒng)中并不存在,因此這就出現(xiàn)了一個向下兼容的問題。

舉個例子,當(dāng)Android系統(tǒng)發(fā)布到3.0版本的時候,突然意識到了平板電腦的重要性,因此為了讓Android可以更好地兼容平板,Android團隊在3.0系統(tǒng)(API 11)中加入了Fragment功能。但是Fragment的作用并不只局限于平板,以前的老系統(tǒng)中也想使用這個功能該怎么辦?于是Android團隊推出了一個鼎鼎大名的Android Support Library,用于提供向下兼容的功能。比如我們每個人都熟知的support-v4庫,appcompat-v7庫都是屬于Android Support Library的,這兩個庫相信任何做過Android開發(fā)的人都使用過。

但是可能很多人并沒有考慮過support-v4庫的名字到底是什么意思,這里跟大家解釋一下。4在這里指的是Android API版本號,對應(yīng)的系統(tǒng)版本是1.6。那么support-v4的意思就是這個庫中提供的API會向下兼容到Android 1.6系統(tǒng)。它對應(yīng)的包名如下:

類似地,appcompat-v7指的是將庫中提供的API向下兼容至API 7,也就是Android 2.1系統(tǒng)。它對應(yīng)的包名如下:

可以發(fā)現(xiàn),Android Support Library中提供的庫,它們的包名都是以android.support.*開頭的。

但是慢慢隨著時間的推移,什么1.6、2.1系統(tǒng)早就已經(jīng)被淘汰了,現(xiàn)在Android官方支持的最低系統(tǒng)版本已經(jīng)是4.0.1,對應(yīng)的API版本號是15。support-v4、appcompat-v7庫也不再支持那么久遠的系統(tǒng)了,但是它們的名字卻一直保留了下來,雖然它們現(xiàn)在的實際作用已經(jīng)對不上當(dāng)初命名的原因了。

那么很明顯,Android團隊也意識到這種命名已經(jīng)非常不合適了,于是對這些API的架構(gòu)進行了一次重新的劃分,推出了AndroidX。因此,AndroidX本質(zhì)上其實就是對Android Support Library進行的一次升級,升級內(nèi)容主要在于以下兩個方面。

第一,包名。之前Android Support Library中的API,它們的包名都是在android.support.*下面的,而AndroidX庫中所有API的包名都變成了在androidx.*下面。這是一個很大的變化,意味著以后凡是android.*包下面的API都是隨著Android操作系統(tǒng)發(fā)布的,而androidx.*包下面的API都是隨著擴展庫發(fā)布的,這些API基本不會依賴于操作系統(tǒng)的具體版本。

第二,命名規(guī)則。吸取了之前命名規(guī)則的弊端,AndroidX所有庫的命名規(guī)則里都不會再包含具體操作系統(tǒng)API的版本號了。比如,像appcompat-v7庫,在AndroidX中就變成了appcompat庫。

一個AndroidX完整的依賴庫格式如下所示:

implementation 'androidx.appcompat:appcompat:1.0.2'

了解了AndroidX是什么之后,現(xiàn)在你應(yīng)該放輕松了吧?它其實并不是什么全新的東西,而是對Android Support Library的一次升級。因此,AndroidX上手起來也沒有任何困難的地方,比如之前你經(jīng)常使用的RecyclerView、ViewPager等等庫,在AndroidX中都會有一個對應(yīng)的版本,只要改一下包名就可以完全無縫使用,用法方面基本上都沒有任何的變化。

但是有一點需要注意,AndroidX和Android Support Library中的庫是非常不建議混合在一起使用的,因為它們可能會產(chǎn)生很多不兼容的問題。最好的做法是,要么全部使用AndroidX中的庫,要么全部使用Android Support Library中的庫。

而現(xiàn)在Android團隊官方的態(tài)度也很明確,未來都會為AndroidX為主,Android Support Library已經(jīng)不再建議使用,并會慢慢停止維護。另外,從Android Studio 3.4.2開始,我發(fā)現(xiàn)新建的項目已經(jīng)強制勾選使用AndroidX架構(gòu)了。

那么對于老項目的遷移應(yīng)該怎么辦呢?由于涉及到了包名的改動,如果從Android Support Library升級到AndroidX需要手動去改每一個文件的包名,那可真得要改死了。為此,Android Studio提供了一個一鍵遷移的功能,只需要對著你的項目名右擊 → Refactor → Migrate to AndroidX,就會彈出如下圖所示的窗口。

這里點擊Migrate,Android Studio就會自動檢查你項目中所有使用Android Support Library的地方,并將它們?nèi)扛某葾ndroidX中對應(yīng)的庫。另外Android Studio還會將你原來的項目備份成一個zip文件,這樣即使遷移之后的代碼出現(xiàn)了問題你還可以隨時還原回之前的代碼。

到此這篇關(guān)于總是聽到有人說AndroidX,到底什么是AndroidX的文章就介紹到這了,更多相關(guān)什么是AndroidX內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Android自定義密碼輸入框的簡單實現(xiàn)過程

    Android自定義密碼輸入框的簡單實現(xiàn)過程

    在最近的項目中,用戶需要輸入密碼,不想用系統(tǒng)鍵盤,就寫了一個自定義鍵盤,下面這篇文章主要給大家介紹了關(guān)于Android自定義密碼輸入框的簡單實現(xiàn)過程,需要的朋友可以參考下
    2021-11-11
  • Android NDK 開發(fā)教程

    Android NDK 開發(fā)教程

    這篇文章主要介紹了Android NDK 開發(fā)教程的相關(guān)資料,需要的朋友可以參考下
    2015-11-11
  • Android?Flutter控件封裝之視頻進度條的實現(xiàn)

    Android?Flutter控件封裝之視頻進度條的實現(xiàn)

    這篇文章主要來和大家分享一個很簡單的控制器封裝案例,包含了基本的播放暫停,全屏和退出全屏,文中的示例代碼講解詳細,感興趣的可以了解一下
    2023-06-06
  • Android自定義彈出窗口PopupWindow使用技巧

    Android自定義彈出窗口PopupWindow使用技巧

    這篇文章主要介紹了Android自定義彈出窗口PopupWindow使用技巧,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-11-11
  • Android調(diào)用系統(tǒng)時間格式顯示時間信息

    Android調(diào)用系統(tǒng)時間格式顯示時間信息

    這篇文章主要介紹了Android調(diào)用系統(tǒng)時間格式顯示時間信息的使用方法,代碼很簡單
    2014-01-01
  • 利用Kotlin的方式如何處理網(wǎng)絡(luò)異常詳解

    利用Kotlin的方式如何處理網(wǎng)絡(luò)異常詳解

    這篇文章主要 給大家介紹了關(guān)于利用Kotlin的方式如何處理網(wǎng)絡(luò)異常的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-07-07
  • Android中TextView自動適配文本大小的幾種解決方案

    Android中TextView自動適配文本大小的幾種解決方案

    在布局中使用的話,注意按照你最大的設(shè)備來設(shè)置字體大小,這樣在小設(shè)備上回自動縮放,下面這篇文章主要給大家介紹了關(guān)于Android中TextView自動適配文本大小的幾種解決方案,需要的朋友可以參考下
    2022-06-06
  • Android數(shù)據(jù)持久化之ContentProvider機制詳解

    Android數(shù)據(jù)持久化之ContentProvider機制詳解

    這篇文章主要介紹了Android數(shù)據(jù)持久化之ContentProvider機制,結(jié)合實例形式分析了ContentProvider機制的原理與相關(guān)使用技巧,需要的朋友可以參考下
    2017-05-05
  • Flutter 仿微信支付界面

    Flutter 仿微信支付界面

    網(wǎng)傳微信支付頁面的第三方鏈接一個格子需要廣告費1一個億,微信支付頁非常適合做功能導(dǎo)航,本篇使用 ListView和 GridView 模仿了微信支付的頁面,同時介紹了如何裝飾一個組件的背景和邊緣樣式。
    2021-05-05
  • Android實現(xiàn)日夜間模式的深入理解

    Android實現(xiàn)日夜間模式的深入理解

    相信Android的日間/夜間模式切換相信大家在平時使用 APP 的過程中都遇到過,比如知乎、簡書中就有相關(guān)的模式切換。實現(xiàn)日間/夜間模式切換的方案也有許多種,趁著今天有空來講一下日間/夜間模式切換的幾種實現(xiàn)方案,也可以做一個橫向的對比來看看哪種方案最好。
    2016-09-09

最新評論

错那县| 巴林左旗| 永年县| 岚皋县| 墨竹工卡县| 光泽县| 中宁县| 同德县| 和政县| 江孜县| 沐川县| 黑河市| 时尚| 乌什县| 兴仁县| 沅陵县| 长葛市| 常山县| 威信县| 新田县| 武平县| 都匀市| 苏尼特左旗| 昭苏县| 策勒县| 唐海县| 财经| 彰化市| 岚皋县| 印江| 丁青县| 塘沽区| 榆社县| 建平县| 金寨县| 白银市| 南京市| 凭祥市| 肇庆市| 青浦区| 和政县|