Android TargetApi注释使用
2015-06-04 16:37
681 查看
当我们在项目中使用新版SDK中才有的Api时,Eclipse会因为你的miniSdkVersion没有在新版SDK的版本之上而报错。
比如android.os.StatFs这个类有一些方法是在API level18之后才有的,但是你的app需要支持Android2.3的设备,那么你就无法使用getAvailableBlocksLong(),getAvailableBytes()等方法。
然而解决办法就是在需要使用新版Api的方法上加上注释,比如
而且需要在方法中判断当前系统的版本,从而手动来确定调用新版本Api还是旧版本Api。
比如android.os.StatFs这个类有一些方法是在API level18之后才有的,但是你的app需要支持Android2.3的设备,那么你就无法使用getAvailableBlocksLong(),getAvailableBytes()等方法。
然而解决办法就是在需要使用新版Api的方法上加上注释,比如
@TargetApi(18) public static long getSDcardSize(){ long freeSize; if(android.os.Build.VERSION.SDK_INT>=18){ freeSize=stat.getAvailableBytes(); }else{ freeSize=stat.getFreeBlocks()*stat.getBlockSize(); } return freeSize; }
而且需要在方法中判断当前系统的版本,从而手动来确定调用新版本Api还是旧版本Api。
相关文章推荐
- Android底层开发(二)之编写调用JNI层的java库 第四步
- Android混淆打包
- CrashMonkey4Android
- Android报Caused by: android.content.res.Resources$NotFoundException: String resource ID #0x0 .解决办法
- Android学习1
- Android Bitmap Compress 稳定版
- android学习笔记(二)
- Android学习准备
- Android 反编译 -smali语法
- android引入JAR包,打包成JAR包,打包成Library项目,导入Library项目
- Android异步批量下载图片并缓存
- Android进步之十二:9patch图
- Android中的桌面快捷方式
- 布局界面异常,无法看到当前布局
- Android 学习笔记 Service
- 利用百度SDK进行城市定位
- Google’s fused location API for Android
- 基于Android的图片缓存处理
- android studio 常用快捷分享
- Android设置Selector不同状态下颜色及图片