兼容性(一) - 使代码向前兼容SDK版本

本文介绍了一种在Android开发中确保应用能同时运行在新旧版本Android系统上的方法。通过检查API版本并采用条件编译的方式,使得开发者能够编写出既利用了新版特性又不排斥旧版系统的兼容性应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

转自 道法自然 http://blog.youkuaiyun.com/stefzeus/article/details/6214710

一、概述

      如果当前你使用Android SDK Version 2.1进行应用开发。而你大部分的潜在用户使用的Android设备却是Android1.5或1.6。这时,如何才能使你开发出来的应用适应这些使用旧版本的Android设备呢?

二、建议

【查看API的版本】

      使用类或函数时,先查看“Android SDK documentation”,如果你开发的应用中用到了MotionEvent.getPointerCount() ,在文档中显示该函数在 API Level 5 以上的版本可以正常使用。

      这种情况下,如果你在AndroidManifest.xml里标记了android:minSdkVersion="3",设备的Android版本为1.5。那么应用程序运动到MotionEvent.getPointerCount()时就会崩溃。

      因为程序中存在getPointerCount函数必须在API Level 5中使用,所以在定义android:minSdkVersion时应该将它的值设置为“5”。

 

【代码判断版本号】

  1. class WrapNew {  
  2.     static int getPointerCount(MotionEvent event) {  
  3.         return event.getPointerCount();  
  4.     }  
  5. }  


  1. public boolean onTouchEvent(MotionEvent event) {  
  2.     boolean hasMultiTouch = Integer.parseInt(Build.VERSION.SDK) >= 5;  
  3.     int nPointer = hasMultiTouch ? WrapNew.getPointerCount(event) : 1;  
  4.     // ...   
  5. }  

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值