使用Build.VERSION_CODES是一种好习惯吗?如果是这样,为什么?

时间:2019-03-20 00:53:10

标签: android

是否有使用Build.VERSION_CODES的特殊原因。例如

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {

}

检查API级别,而不是仅检查数字常量。例如

if (Build.VERSION.SDK_INT >= 26) {

}

恕我直言,使用数字常量可以简化代码读取过程,因为您不必记住哪个数字是哪个版本。

想知道我所缺少的使用Build.VERSION_CODES有什么价值吗?

2 个答案:

答案 0 :(得分:0)

对我来说,这是使代码对您更具可读性的问题。例如,如果您问我哪个API级别强制您调用startForegroundService(),我可以告诉您它是“ Oreo”,但我不能告诉您哪个数字API常量分配给了Oreo。

答案 1 :(得分:0)

请参阅API文档Build.VERSION_CODESSDK_INT

  

枚举当前已知的SDK版本代码。这些是可以在VERSION#SDK中找到的值。每个正式平台版本的版本号都会单调递增。

Build.VERSION.SDK_INT只不过是一个常量整数,它对应于每个Android发行版,例如Android L,M,O等。的确,在阅读代码时使用数字常量可以使事情变得简单,但是如果不使用Build.VERSION_CODES,您还会失去将代码导航到适当的Android API文档的便利。这更像是约定,您如何在团队成员之间交流不同的Android版本。