您当前的位置:首页 > 手机百科 > 安卓

总是听到有人说AndroidX,到底什么是AndroidX?

时间:2020-06-09 13:10:13  来源:  作者:

前言

Android技术迭代更新很快,各种新出的技术和名词也是层出不穷。不知从什么时候开始,总是会时不时听到AndroidX这个名词,这难道又是什么新出技术吗?相信有很多朋友也会存在这样的疑惑,那么今天我就来写一篇科普文章,向大家介绍AndroidX的前世今生。

什么是AndroidX

Android系统在刚刚面世的时候,可能连它的设计者也没有想到它会如此成功,因此也不可能在一开始的时候就将它的API考虑的非常周全。随着Android系统版本不断地迭代更新,每个版本中都会加入很多新的API进去,但是新增的API在老版系统中并不存在,因此这就出现了一个向下兼容的问题。

举个例子,当Android系统发布到3.0版本的时候,突然意识到了平板电脑的重要性,因此为了让Android可以更好地兼容平板,Android团队在3.0系统(API 11)中加入了Fragment功能。但是Fragment的作用并不只局限于平板,以前的老系统中也想使用这个功能该怎么办?于是Android团队推出了一个鼎鼎大名的Android Support Library,用于提供向下兼容的功能。比如我们每个人都熟知的support-v4库,Appcompat-v7库都是属于Android Support Library的,这两个库相信任何做过Android开发的人都使用过。

但是可能很多人并没有考虑过support-v4库的名字到底是什么意思,这里跟大家解释一下。4在这里指的是Android API版本号,对应的系统版本是1.6。那么support-v4的意思就是这个库中提供的API会向下兼容到Android 1.6系统。它对应的包名如下:

类似地,appcompat-v7指的是将库中提供的API向下兼容至API 7,也就是Android 2.1系统。它对应的包名如下:

可以发现,Android Support Library中提供的库,它们的包名都是以android.support.*开头的。

但是慢慢随着时间的推移,什么1.6、2.1系统早就已经被淘汰了,现在Android官方支持的最低系统版本已经是4.0.1,对应的API版本号是15。support-v4、appcompat-v7库也不再支持那么久远的系统了,但是它们的名字却一直保留了下来,虽然它们现在的实际作用已经对不上当初命名的原因了。

那么很明显,Android团队也意识到这种命名已经非常不合适了,于是对这些API的架构进行了一次重新的划分,推出了AndroidX。因此,AndroidX本质上其实就是对Android Support Library进行的一次升级,升级内容主要在于以下两个方面。

第一,包名。之前Android Support Library中的API,它们的包名都是在android.support.*下面的,而AndroidX库中所有API的包名都变成了在androidx.*下面。这是一个很大的变化,意味着以后凡是android.*包下面的API都是随着Android操作系统发布的,而androidx.*包下面的API都是随着扩展库发布的,这些API基本不会依赖于操作系统的具体版本。

第二,命名规则。吸取了之前命名规则的弊端,AndroidX所有库的命名规则里都不会再包含具体操作系统API的版本号了。比如,像appcompat-v7库,在AndroidX中就变成了appcompat库。

一个AndroidX完整的依赖库格式如下所示:

implementation 'androidx.appcompat:appcompat:1.0.2'

尾声

了解了AndroidX是什么之后,现在你应该放轻松了吧?它其实并不是什么全新的东西,而是对Android Support Library的一次升级。因此,AndroidX上手起来也没有任何困难的地方,比如之前你经常使用的RecyclerView、ViewPager等等库,在AndroidX中都会有一个对应的版本,只要改一下包名就可以完全无缝使用,用法方面基本上都没有任何的变化。

但是有一点需要注意,AndroidX和Android Support Library中的库是非常不建议混合在一起使用的,因为它们可能会产生很多不兼容的问题。最好的做法是,要么全部使用AndroidX中的库,要么全部使用Android Support Library中的库。

而现在Android团队官方的态度也很明确,未来都会为AndroidX为主,Android Support Library已经不再建议使用,并会慢慢停止维护。另外,从Android Studio 3.4.2开始,我发现新建的项目已经强制勾选使用AndroidX架构了。

那么对于老项目的迁移应该怎么办呢?由于涉及到了包名的改动,如果从Android Support Library升级到AndroidX需要手动去改每一个文件的包名,那可真得要改死了。为此,Android Studio提供了一个一键迁移的功能,只需要对着你的项目名右击 → Refactor → Migrate to AndroidX,就会弹出如下图所示的窗口。

这里点击Migrate,Android Studio就会自动检查你项目中所有使用Android Support Library的地方,并将它们全部改成AndroidX中对应的库。另外Android Studio还会将你原来的项目备份成一个zip文件,这样即使迁移之后的代码出现了问题你还可以随时还原回之前的代码。



Tags:AndroidX   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
前言Android技术迭代更新很快,各种新出的技术和名词也是层出不穷。不知从什么时候开始,总是会时不时听到AndroidX这个名词,这难道又是什么新出技术吗?相信有很多朋友也会存在这...【详细内容】
2020-06-09  Tags: AndroidX  点击:(86)  评论:(0)  加入收藏
▌简易百科推荐
安卓12是谷歌在2021年5月19日发布的一款全新的系统,是安卓11的正式迭代版,也是目前安卓系统最新版本的系统,各大国产手机厂商均会在今年年底到明年年初大规模推送基于安卓12的...【详细内容】
2021-12-22  小伊评科技    Tags:安卓12   点击:(18)  评论:(0)  加入收藏
最近有小伙伴让机哥给推荐一些爽快的单机手游。 结果找了一圈,发现手机上已经很少有纯粹的单机大作了。 品质还不错的,多数也是小而美的独立游戏。 机哥感觉单机手游大作已经...【详细内容】
2021-12-15  安卓中国    Tags:Gameloft   点击:(9)  评论:(0)  加入收藏
说句实话,只要对手机了解的,应该早就知道怎么查询自己手机的生产日期了,当然了,肯定会有朋友要问我为什么要知道手机的生产日期呢?一呢是看看你的手机是不是正品,二呢也是多了解一...【详细内容】
2021-12-15  小余谈手机    Tags:安卓手机   点击:(9)  评论:(0)  加入收藏
每当我们新购买一部手机的时候,第一次开机,总会看到手机会内置第三方软件,数量在几个到十几个不等,其中有些我们是能用到的,但大部分都是一些推广软件,这些软件还是可以直接卸载的...【详细内容】
2021-12-02  数码游戏杂谈    Tags:安卓   点击:(11)  评论:(0)  加入收藏
如果你是一名忠实的Android玩家,那么可能会知道,今年的Android 12系统在版本规划上与“往届”相比可以说是很有些特殊。具体来说,除了前段时间刚刚推出正式版的Android 12外,谷...【详细内容】
2021-11-10  三易生活    Tags:Android   点击:(24)  评论:(0)  加入收藏
当安卓手机使用久后,系统垃圾文件越来越多,堆积后会造成手机空间变少,运行变慢,这时可以考虑给安卓手机恢复出厂设置解决.那么安卓手机如何恢复出厂设置?下面就教下大家具体...【详细内容】
2021-11-01  小白系统    Tags:安卓手机   点击:(35)  评论:(0)  加入收藏
今年5月,谷歌推出了Android 12,这是原生安卓系统史上最大的设计变化,10月4日,谷歌推出全新的Android12正式版本,并且宣布会在今年晚些时候应用于安卓设备,对比Android11的挤牙膏式...【详细内容】
2021-10-29  闪魔    Tags:Android 12   点击:(125)  评论:(0)  加入收藏
因为我有时候装一些软件需要手机的Root权限,而现在一些手机获取有非常的的麻烦,网上查怎样获取的时候各种广告各种坑,下载什么什么一件获得root权限的APP一般都是打广告的流氓...【详细内容】
2021-10-15  张华兵OL    Tags:root权限   点击:(80)  评论:(0)  加入收藏
首先祝大家周末愉快,平常我们用的手机系统一般是苹果、安卓和ios,没有这三个系统支撑我们的手机也就用不了,那么这些系统自带的一些功能大家知道吗?今天分享安卓系统自带的6个功...【详细内容】
2021-10-12  小杰好厉害呀    Tags:安卓系统   点击:(107)  评论:(0)  加入收藏
在2020年4月27日的时候,小米公司正式发布了基于Android深度定制的MIUI12操作系统,不仅在系统UI美化和流畅度方面都剑指苹果iOS系统,同时还加入了安全隐私、超级壁纸、全局自由...【详细内容】
2020-12-29      Tags:MIUI   点击:(215)  评论:(0)  加入收藏
相关文章
    无相关信息
最新更新
栏目热门
栏目头条