开发者社区> 范大脚脚> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

Build.VERSION.SDK_INT >= Build.VERSION_CODES.GINGERBREAD

简介:
+关注继续查看

Build.VERSION.SDK_INT是系统的版本,Build.VERSION_CODES.GINGERBREAD是版本号。

 

到VERSION.SDK_INT不禁诧异,这是何物?!

看API的定义,如下:

 

  1. public static final int SDK_INT  
  2.   
  3. Since: API Level 4  
  4. The user-visible SDK version of the framework; its possible values are defined in Build.VERSION_CODES.  


原来是一个常量值。但是这个常量值可以根据系统的不同而不同哟!为了揭开其神秘的面纱,将源码ctrl如下:

 

 

  1. /** 
  2.   * The user-visible SDK version of the framework; its possible 
  3.   * values are defined in {@link Build.VERSION_CODES}. 
  4.   */  
  5.   public static final int SDK_INT = SystemProperties.getInt(  
  6.                "ro.build.version.sdk", 0);  


可以看出,获取系统属性,类似Java中获取系统属性值。

 

研究一下 SystemProperties 这个类,知道该类没有在API中出现,Android并没有开放这个API接口。
VERSION.SDK_INT 常量,在开发过程中还是比较有用的,为了做到平台兼容性,可以使用该值做一些判断,防止API调用过时或者消失。

示例:

 

  1. int currentVersion = android.os.Build.VERSION.SDK_INT;  
  2. if(currentVersion == android.os.Build.VERSION_CODES.ECLAIR_MR1) {  
  3.     // 2.1  
  4. else if(currentVersion == android.os.Build.VERSION_CODES.FROYO) {  
  5.     // 2.2  
  6. else if(currentVersion == android.os.Build.VERSION_CODES.GINGERBREAD) {  
  7.     // 2.3  
  8. else if(currentVersion == android.os.Build.VERSION_CODES.HONEYCOMB) {  
  9.     // 3.0  
  10. }  

还如,判断如果设备不是3.0(平板操作系统)的话,就设置不显示标题

  1. if (VERSION.SDK_INT != 11) {  
  2.       getWindow().requestFeature(Window.FEATURE_NO_TITLE);  
  3. }  

这些常量位于android.os.Build.VERSION_CODES这个内部类中:



本文转自农夫山泉别墅博客园博客,原文链接:http://www.cnblogs.com/yaowen/p/6024421.html,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
这可能是2022年把微服务讲的最全了:SpringBoot+Cloud+Docker
前言 最近几年,微服务可谓是大行其道。在业务模型不完善,超大规模流量的冲击的情况下,许多企业纷纷抛弃了传统的单体架构,拥抱微服务。这种模式具备独立开发、独立部署、可扩展性、可重用性的优点的同时,也带来这样一个问题:开发、运维的复杂性提高。有人感觉微服务越做越不方便管理。
10 0
Java:日志输出JDK Logging、commons-logging、log4j、SLF4J、Logback
Java:日志输出JDK Logging、commons-logging、log4j、SLF4J、Logback
36 0
Java:日志输出JDK Logging、commons-logging、log4j、SLF4J、Logback
Java:日志输出JDK Logging、commons-logging、log4j、SLF4J、Logback
103 0
SpringBoot从入门到精通(十八)Mybatis系列之——使用注解的方式实现后台管理功能
ava 注解的运用发展到今天。约定取代配置的规范已经深入人心。开发者还是倾向于使用注解解决一切问题,注解版最大的特点是具体的 SQL 文件需要写在 Mapper 类中,取消了 Mapper 的 XML 配置 。这样不用任何配置文件,就可以简单配置轻松上手。所以今天就介绍Spring Boot 整合mybatis 使用注解的方式实现数据库操作 。
327 0
【DATAGUARD】物理dg配置客户端无缝切换 (八.3)--客户端TAF 配置
【DATAGUARD】物理dg配置客户端无缝切换 (八.3)--客户端TAF 配置 1.1  BLOG文档结构图       1.
1245 0
cloud computing platform,virtual authentication encryption
Distributed Management Task Forcevirtual Ethernet port aggregatorencryption,authenticating,local access control:Transport Layer SecuritySimple Authent...
574 0
+关注
文章
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载