AndroidX
Android系统版本不断地迭代更新,每个版本中都会加入很多新的API进去,但是新增的API在老版系统中并不存在,因此这就出现了一个向下兼容的问题。
比如,当Android系统发布到3.0版本的时候,突然意识到了平板电脑的重要性,因此为了让Android可以更好地兼容平板,Android在3.0系统(API 11)中加入了Fragment功能。
但是Fragment的作用并不只局限于平板,以前的老系统中也想使用这个功能该怎么办?于是Android推出了Android Support Library,用于提供向下兼容的功能。
image.png
比如熟知的support-v4库,appcompat-v7库都是属于Android Support Library的。
v4在这里指的是Android API版本号,对应的系统版本是1.6。
support-v4的意思就是这个库中提供的API会向下兼容到Android 1.6系统。
appcompat-v7指的是将库中提供的API向下兼容至API 7,也就是Android 2.1系统。
但是慢慢随着时间的推移,什么1.6、2.1系统早就已经被淘汰了,现在Android官方支持的最低系统版本已经是4.0.1,对应的API版本号是15。
Android团队也意识到这种命名已经非常不合适了,于是对这些API的架构进行了一次重新的划分,推出了AndroidX。因此,AndroidX本质上其实就是对Android Support Library进行的一次升级。
image.png
升级内容主要在于以下两个方面:
-
第一,包名。
之前Android Support Library中的API,它们的包名都是在android.support.下面的,而AndroidX库中所有API的包名都变成了在androidx.下面。 -
第二,命名规则。
吸取了之前命名规则的弊端,AndroidX所有库的命名规则里都不会再包含具体操作系统API的版本号了。比如,像appcompat-v7库,在AndroidX中就变成了appcompat库。
使用
一个AndroidX完整的依赖库格式如下所示:
implementation 'androidx.appcompat:appcompat:1.0.2'
网友评论