Android版本兼容问题

本文介绍了如何使用Android的Build类获取系统版本,并讨论了不同版本间的兼容性问题。提出了三种解决兼容性的方法:使用注解、反射调用新功能接口以及代码分离与动态加载等。

获得sdk版本
Android 提供了Build类来获得系统版本

Build.VERSION.SDK_INT)系统版本的信息
Build.VERSION_CODES(.HONEYCOMB)一些版本号常量
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) 判断

兼容原则
一般选择APP的最低支持版本原则是尽量向下保持兼容,但也不是说越向下越好,主要的考虑因素有以下几点:

  1. 各个低版本手机的市场占有率,比如2013年android 2.2的手机还占用一定的市场份额,但到现在为止基本上该份额可以忽略不计了(目前android 最高的版本已达到android 5.1了)

  2. APP的针对用户群体,比如是高端的用户群体,屌丝用户群体,还是中低端用户群体,根据不同的用户群体可以综合出来决定对最低版本的支持。

解决方法
1. 用android提供的注解 @TargetApi(11)+ 版本号控制做兼容
2. 用反射的方式调用高版本中的新功能接口进行调用。
3. 分离代码,分别在不同的SDK上编译运行,最后ClassLoader动态加载高版本中的相关类接口。
参考http://www.cnblogs.com/yaowen/p/5013366.html

notification版本兼容参考http://blog.youkuaiyun.com/loongggdroid/article/details/17616509/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值