尽管Android向下兼容不好,但是一个程序还是可以在多个平台上跑的。向下兼容不好,接口改变,新的平台上不能用旧的API,旧的平台更不可能用新的API,不等于一个平台需要一个APK。可以在高版本的SDK上开发,并在程序中作版本判断,低版本运行环境使用旧的API。进行android版本判断需使用到类:

android.os.Build

根据官方文档解释为--Information about the current build, extracted from system properties.
该类中描述了从系统属性中提取的有关android平台的信息。

android.os.Build.VERSION

根据官方文档解释为--Various version strings.
该类中提供了各种版本的字符串。
其中:public static final int SDK_INT
官方文档解释为--The user-visible SDK version of the framework; its possible values are defined in Build.VERSION_CODES.
该常量值表述了用户可见的系统框架的SDK版本,它的可能取值被定义在Build.VERSION_CODES中。

android.os.Build.VERSION_CODES

根据官方文档解释为--Enumeration of the currently known SDK version codes. These are the values that can be found in SDK. Version numbers increment monotonically with each official platform release.
该类列举处理当前已知的所有SDK版本代号。这些值可以在SDK中找到,版本号会随着官方平台的发布单调增加。
例如:int M;    --- M is for Marshmallow!(Constant Value: 23 (0x00000017) )


// Build.VERSION.SDK_INT可与switch搭配用
switch (Build.VERSION.SDK_INT) {
case Build.VERSION_CODES.BASE: // 1.0
break; case Build.VERSION_CODES.BASE_1_1: // 1.1
break; case Build.VERSION_CODES.CUPCAKE: // 1.5
break; case Build.VERSION_CODES.CUR_DEVELOPMENT: // current dev version
break; case Build.VERSION_CODES.DONUT: // 1.6
break; case Build.VERSION_CODES.ECLAIR: // 2.0
break; case Build.VERSION_CODES.ECLAIR_0_1: // 2.0.1
break; case Build.VERSION_CODES.ECLAIR_MR1: // 2.1
break;
}

Android版本判断的更多相关文章

  1. 如何兼容所有Android版本选择照片或拍照然后裁剪图片--基于FileProvider和动态权限的实现

    我们知道, Android操作系统一直在进化. 虽然说系统是越来越安全, 可靠, 但是对于开发者而言, 开发难度是越来越大的, 需要注意的兼容性问题, 也越来越多. 就比如在Android平台上拍照或 ...

  2. Atitit.播放系统规划新版本 and 最近版本回顾 v3  pbf.doc  1 版本11 (ing)41.1 规划h5本地缓存系列 41.2 Android版本app41.3 双类别系统,

    Atitit.播放系统规划新版本 and 最近版本回顾 v3  pbf.doc 1 版本11 (ing)4 1.1 规划h5本地缓存系列 4 1.2 Android版本app4 1.3 双类别系统, ...

  3. @TargetAPI + 版本判断实现高低API版本兼容

    安卓开发中,在低版本SDK使用高版本的API会报错.一般处理方法是换一种实现方法,或者在高版本SDK中使用高版本API,低版本SDK中使用效果可能会差点的折衷方案:后者可以用如下技巧来实现. 步骤 S ...

  4. 基于unity3d游戏的android版本逆向初探

    https://bbs.pediy.com/thread-212532.htm [文章标题]: 基于unity3d游戏的android版本逆向初探 [文章作者]: dreaman [作者邮箱]: [e ...

  5. ASP.NET MVC Filters 4种默认过滤器的使用【附示例】 数据库常见死锁原因及处理 .NET源码中的链表 多线程下C#如何保证线程安全? .net实现支付宝在线支付 彻头彻尾理解单例模式与多线程 App.Config详解及读写操作 判断客户端是iOS还是Android,判断是不是在微信浏览器打开

    ASP.NET MVC Filters 4种默认过滤器的使用[附示例]   过滤器(Filters)的出现使得我们可以在ASP.NET MVC程序里更好的控制浏览器请求过来的URL,不是每个请求都会响 ...

  6. Android 如何判断一个应用在运行(转)

    Android 如何判断一个应用在运行  在一个应用中,或一个Service .Receiver中判断一个应用是否正在运行,以便进行一些相关的处理. 这个时候我们需要得到一个ActivityManag ...

  7. Delphi XE5 支持的Android 版本

    Delphi XE5 已经支持Android应用开发.  那XE5支持Android的哪些版本呢?Delphi编译的APP能部署到Gingerbread (2.3.3-2.3.7), Ice Crea ...

  8. 获取Android版本信息和电话信息

    Android的版本信息可以通过android.os.Build获得,电话信息可以通过TelephonyManager获得,代码如下:     private void get_infor(){ sd ...

  9. [Android] 如何查看apk需要支持的Android版本

    reference to : http://blog.csdn.net/huiguixian/article/details/39928089 如果有一个apk,需要知道他最低安装支持的Android ...

随机推荐

  1. WP布局之Pivot和Panorama

    一.Pivot控件(枢轴控件) Pivot主要用于管理应用中的视图或者页面,此控件在WP中几乎处处可见,不管是短信的左右滑动,还是QQ的左右滑动都是此控件的功劳. 就是图片中的控件,是不是很熟悉呢. ...

  2. C++:this指针

    this指针 this关键字:表示本类中的对象成员,可以通过this指针访问当前类的成员//举例 //例 3.18 隐藏this指针的引例 #include<iostream> using ...

  3. ArcGIS 10 影像去黑边

    在作卫片执法项目中,需要多个影像叠加截图,这就会出现影像黑边叠加的情况,这时就需要对多幅影像进行处理.主要有两种处理方式:以ArcGIS10.1为例,操作如下:     1.acrtoolbox——& ...

  4. Java解压上传zip或rar文件,并解压遍历文件中的html的路径

    1.本文只提供了一个功能的代码 public String addFreeMarker() throws Exception { HttpSession session = request.getSe ...

  5. poi操作oracle数据库导出excel文件2

    package com.test; import java.io.File;  import java.io.FileInputStream;  import java.io.FileNotFound ...

  6. Unity 教程和源码

    12个Unity3D游戏源码 -  新手必备 愤怒的小鸟攻略技巧秘籍 NGUI 教程收录大全:http://forum.exceedu.com/forum/forum.php?mod=viewthre ...

  7. jetty ZipException: invalid entry size

    The issue, as I suspected, was due a corrupt JAR file. The solution for me was to clear my local rep ...

  8. 1742. Team building(dfs)

    1742 最小的是找联通块数 最大的找环 一个环算一个 其它的数各算一个 #include <iostream> #include<cstdio> #include<cs ...

  9. poj 3258 River Hopscotch(二分+贪心)

    题目:http://poj.org/problem?id=3258 题意: 一条河长度为 L,河的起点(Start)和终点(End)分别有2块石头,S到E的距离就是L. 河中有n块石头,每块石头到S都 ...

  10. topcoder srm 610 div2 250

    第一次做tc 的比赛,一点也不懂,虽然题目做出来了, 但是,也没有在比赛的时候提交成功.. 还有,感谢一宁对tc使用的讲解.. 贴一下代码..... #include <cstring> ...