使用Android注解来改善代码

转载 2017年01月03日 10:02:16

这篇博客还没看懂,等以后使用studio再看。

昨晚看到一篇好文章,然后是英文的,所以决定翻译分享给大家,这是原文链接:http://www.michaelevans.org/blog/2015/07/14/improving-your-code-with-android-support-annotations/


如果你还没听说过Android支持注解库,那么你将错过可以帮助你捕获bug的一个轻便灵活的新包。在这个库中包含了很多Java的注解,它将帮助Android Studio为了可能出现的错误来检查你的代码,并且反馈通知给你。这个库有相当多的注解,在此我只打算说明几个,但是如果你需要其余部分完整清晰的说明文档,可以在这里查看:check out the docs


@NonNull 与 @Nullable

@NonNull 与 @Nullable 可能是支持注解中最基础的,但是绝大多数情况下还是很有用的。 如果参数或者方法的返回值可能是null为空的,则以注释一个参数或者方法来表示。目前Android Studio 给予了一个很好的警告提示,在我们做了一些不安全严谨的编码操作的时候。

例如这样: 
这里写图片描述

修改后是这样: 
这里写图片描述


更赞的是:我们甚至可以像例子一样更进一步的使用@CheckResult注解,来告诉我们该方法的返回值类型是我们预计要使用的,而不是错误效果的方法: 
这里写图片描述


@StringRes 与 @DrawableRes 等等

你是不是在TextView上调用setText方法,经常会出现莫名其妙的异常Java android.content.res.Resources$NotFoundException: String resource ID #0x3039? 如果设置了一个整型数给setText,TextView会假定这个整型数是一个字符串的资源id,为了设置string文本将会查询这个整数。对于整型数是无效的资源id的问题,可以通过@StringRes 注解来补救。

public void setText(@StringRes int id) { 
    // Do something like getString(id), etc. 
}
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

如果你设置无效的字符串资源id到setText方法里,就会如下图显示: 
这里写图片描述

这个库还为所有的资源类型都提供了相对应的资源注解:java@DrawableRes, @ColorRes,@InterpolatorRes, 等等。 

@Keep 
今天发现了一个新支持注解@Keep。根据注解文档描述,这个注解还没有连接到Gradle插件中,但是当在混淆app的时候通过注释方法和类可以被保留。 
这个便捷的注解就通知混淆器保留对应的方法和类,就像这样:

public class Example { 
    @Keep public void doSomething() { 
        // hopefully this method does something 
    } 
    ... 
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

如果你正在用的是appcompat-v7的包,就已经包括了 support-annotations的库,那就开始愉快的使用吧!(逗比这么简单的文章还要你翻译,臭不要脸的…Orz!)


以上check out the docs链接处需要翻墙才能打开!

相关文章推荐

使用Android注解来改善代码

昨晚看到一篇好文章,然后是英文的,所以决定翻译分享给大家,这是原文链接:http://www.michaelevans.org/blog/2015/07/14/improving-your-code-...

Android Studio官方文档之用注解检查改善代码质量

Android Studio官方文档之用注解检查改善代码质量

6、android:使用自定义注解精简代码

1、引言这篇文章讲的仍旧是封装,只不过这次是使用注解。关于自定义注解的使用,注解的分类这些知识不在本博客讲解范围之类,网上度娘一搜一大把。本系类博客主要讲解的实战开发,更注重的是讲解编程思想,而不是把...

android利用注解精简代码

  • 2016-06-05 23:07
  • 3.73MB
  • 下载

2.2、Android Studio通过注解提升代码检测

使用像Lint这样的代码检测工具可以帮助你发现问题和提升代码,但是代码检测在有些地方很难应用。例如,Android的资源ID,使用一个int类型来表示字符、图像、颜色或者其他资源类型所以代码检测工具不...

Hibernate使用JPA注解代码

  • 2016-02-16 17:05
  • 7.56MB
  • 下载

Android 注解框架 Butterknife的核心代码分析笔记

ButterKnife是一个注解框架,主要是针对Android平台。 逐个的来看一下Library中的代码的组织架构: 1、接口Binding  这个接口里面有一定对外的定义的方法,主要的功能就是...

Android注解-编译时生成代码 (APT)

Android注解越来越引领潮流,比如 Dagger2, ButterKnife, EventBus3 等,他们都是注解类型,而且他们都有个共同点就是编译时生成代码,而不是运行时利用反射,这样大大优化...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)