是否有使用Build.VERSION_CODES的特殊原因。例如
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
}
检查API级别,而不是仅检查数字常量。例如
if (Build.VERSION.SDK_INT >= 26) {
}
恕我直言,使用数字常量可以简化代码读取过程,因为您不必记住哪个数字是哪个版本。
想知道我所缺少的使用Build.VERSION_CODES
有什么价值吗?
答案 0 :(得分:0)
对我来说,这是使代码对您更具可读性的问题。例如,如果您问我哪个API级别强制您调用startForegroundService()
,我可以告诉您它是“ Oreo”,但我不能告诉您哪个数字API常量分配给了Oreo。
答案 1 :(得分:0)
请参阅API文档Build.VERSION_CODES和SDK_INT
枚举当前已知的SDK版本代码。这些是可以在VERSION#SDK中找到的值。每个正式平台版本的版本号都会单调递增。
Build.VERSION.SDK_INT
只不过是一个常量整数,它对应于每个Android发行版,例如Android L,M,O等。的确,在阅读代码时使用数字常量可以使事情变得简单,但是如果不使用Build.VERSION_CODES,您还会失去将代码导航到适当的Android API文档的便利。这更像是约定,您如何在团队成员之间交流不同的Android版本。