安卓小技巧

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

step 1

在使用了高版本API的方法前面加一个@TargetApi(API版本号)

step 2

在代码上用版本判断来控制不同版本使用不同的代码

eg:

@TargetApi(11)

public void text(){

if(Build.VERSION.SDK_INT>=11){

//使用api11新加的api方法

}

else {

//低版本的折衷处理方法

}

}

知识点

  1. Annotation注解

    Annototion继承自java.lang.annotation.Annotation的类,用于向程序分析工具或虚拟机提供package class field method等方面的信息。Annotation提供了一条与程序元素关联任何信息或者任何元素(metadata)的途径。从某方面看,annotation就像修饰符一样被使用,并应用于包、类型、构造方法、方法、成员变量、参数、本地变量的声明中。这些信息被存储在annotation的“name=value”结构对中。annotation类型是一种接口,能够通过java反射API的方法提供信息的访问。annotation不影响程序代码的执行,无论增加、删除annotation,代码都始终如一的执行。annotation与其他类的主要不同之处在于其使用方法;只要按照“@+annotation类型名称+(...逗号分割的name-value对...)”的组成语法,写在需要的地方。其中成员可以按照任何顺序。如果annotation类型定义某个成员默认值,则这个成员可以被省略,

Annotation 分类

1 标准 Annotation

包括Override, Deprecated, SuppressWarnings,标准 Annotation 是指 Java 自带的几个 Annotation,上面三个分别表示重写函数,函数已经被禁止使用,忽略某项 Warning

2 元 Annotation

@Retention, @Target , @Inherited, @Documented,元 Annotation 是指用来定义 Annotation 的 Annotation,在后面 Annotation 自定义部分会详细介绍含义

3 自定义 Annotation

自定义 Annotation 表示自己根据需要定义的 Annotation,定义时需要用到上面的元 Annotation
这里只是一种分类而已,也可以根据作用域分为源码时、编译时、运行时 Annotation,后面在自定义 Annotation 时会具体介绍

2 . Android lint

Android lint是一个代码扫描工具,能够帮助我们识别代码结构存在的问题,比如使用了高于minSdk的api

3 . @TargetAPI Annotation

@TargetAPI对应android.annotation.TargetApi,与它相似的注解还有@SuppressLint,作用都是告诉编译器:你可以忽略掉lint错误了,我用于高于minSdk又咋滴?要你管啊!!

为什么这里我们用@TargetAPI而不用@SuppressLink,因为@TargetAPI还能指明应用的API版本,在代码中获取平台的SDK版本与这个版本对比后提示应用于平台的兼容性,比如现在的TargetAPI指定为11,如果我用了13的,仍然会得到不兼容的提示;而@SuppressLint做不到这一点,所以@TargetAPI更优

时间: 2024-08-01 10:00:12

安卓小技巧的相关文章

【安卓小技巧】WebView设置在本页面打开网页,而不是启动浏览器打开

使用WebView可以巧妙的在安卓APP中嵌入HTML页面, WebView wb = (WebView) findViewById(R.id.web); //找到WebView控件 wb.setWebViewClient(new WebViewClient()); //防止用浏览器打开网页 wb.loadUrl(“http://www.baidu.com"); //导入页面 轻松搞定!

移动端样式小技巧

平时在移动端开发拼页面的过程中总会遇到一些问题,主要是各手机webview样式显示效果不一致造成的.以下总结了一些常见坑和一些小技巧,希望对看官有所帮助! 本文只针对两大手机阵营 Android和IOS 中的魅蓝metal 和 iPhone6进行样式对比. 一.line-height line-height经常用于文字居中,当然也有小伙伴会用上下padding去写.but!不管你用padding还是line-height,不同手机显示效果还是-不一样. 一般会这样写 .demo{ height:

前端制作之微信小技巧__避免a标签跳转到手机自带浏览器

随着微信的越来越大众化,微信的使用程度也越来越高.随之,产生了一种新的推广模式,即微信推广.在这个微信的大平台上会衍生出许许多多的推广手段.而移动前端作为服务于手机用户的手机网页技术,也不可避免的加入进来. 一些客户不仅仅满足于自己的网站可以在手机浏览器上完美的展现出来,同时还要求可以在微信中进行广泛推广.这就要求移动前端的制作者在制作移动端网站的过程中,还要考虑是否兼容微信的推广. 就制作技术而言,如果可以完美的在手机浏览器中显示,那么在微信推广里也可以完美显示.因为微信中调用的网页引擎就是你

《Lync 小技巧-系列》

Lync 小技巧-1-解决搜索不到联系人的方法http://dynamic.blog.51cto.com/711418/1219759 Lync 小技巧-2-解决每次出现安装进度条的方法http://dynamic.blog.51cto.com/711418/1219763 Lync 小技巧-3-发布证书吊销列表http://dynamic.blog.51cto.com/711418/1219765 Lync 小技巧-4-我是否应该用动态内存http://dynamic.blog.51cto.c

React Native顶|底部导航使用小技巧

导航一直是App开发中比较重要的一个组件,ReactNative提供了两种导航组件供我们使用,分别是:NavigatorIOS和Navigator,但是前者只能用于iOS平台,后者在ReactNative0.44版本以后已经被移除了. 好在有人提供了更好的导航组件,就是我们今天要讲的react-navigation,并且ReactNative官方更推荐我们使用此组件. 本篇文章只讲解基础用法,如果你想了解更多,请戳这里->戳我. 简介 react-navigation主要包括导航,底部tab,顶

12个不为大家熟知的HTML5设计小技巧

慎用向右滑动操作.慎用横屏展示效果.按钮原理页面底部.使用SVG格式做矢量图-- 以上提到的技巧全都出自今天这篇好文,简单小巧但实操性很强,作为设计师,也要尽量避开这些坑. 1.交互上,慎用向右滑动的操作方式. 如:刮刮乐涂抹效果,左右滑动翻页等. 原因:苹果手机上,向右滑动容易触发返回"上一级页面"效果. 2.交互上,慎用横屏展示效果. 原因:体验上,需要用户设备开启屏幕旋转功能,才能正常观看,用户操作成本高.对不同屏幕的手机,长宽比例不一,难以展示最佳的视觉效果. 3.视觉上,功能

Java程序员学习的6个小技巧

Java程序员学习的6个小技巧 知识改变命运,对于Java程序员来说,技术不断更新,只有及时充电,才能不被市场淘汰.北京Java培训机构分享Java程序员学习的6个小技巧兄弟连IT教育作为全国最大的PHP培训机构,迄今已有10年的教育历史,7大特色课程:PHP教程.安卓培训.JAVAEE+大数据.UI设计.HTML5培训.云计算架构师,全栈工程师培训,在目前IT市场特别火,每门课程都由名师牵头,以认认真真的态度做教育,培养的学员过万,在学员心中树立了良好的口碑. 1.一定要看书 现在学习Java

备:移动端开发资源和小技巧

(在github上看到的,转摘而来,如果有版权问题请联系我[email protected]) mobileTech A useful tools or tips list for mobile web application developing 这个项目收集移动端开发所需要的一些资源与小技巧 移动端统计 (from BiosSun) 可基于下方所列出的统计数据来决定您要兼容的设备及浏览器. 百度移动统计 友盟指数 CNZZ 桌面及移动端浏览器统计 全球移动端浏览器统计 工具类网站 HTML5

如何在u不能图上搭配android开发环境——ubuntu小技巧4

如何在linux下用eclipse配置android开发环境 好长时间没有搭配android开发环境了,前几天在win下配了一个用了一下,开始经常使用linux系统的我无法满足于win,今天在ubuntu下试了下,配置了linux下的android环境,在这里分享给想学安卓 的朋友!在另外一篇博客里面介绍了如何搭配win下的android开发环境,有兴趣的朋友可以看一看! 搭配android环境有两种方法:第一种使用集成开发包,第二种自己下载配置插件. 至于是否方便,当然第一种比较容易,省时,合