我想知道像MyDialog(Context context, @StringRes int message)
这样的方法,@ StringRes到底做了什么?我的印象是,如果它不在那里,程序员可能会认为消息是一个数字或什么?这只是开发人员的暗示,还是做了更重要的工作?
答案 0 :(得分:3)
@StringRes
表示要传递的整数是字符串资源(来自values / strings.xml)。例如:
R.string.title
参考:https://developer.android.com/reference/android/support/annotation/StringRes.html
答案 1 :(得分:2)
你做得对,这些注释将帮助开发人员谁将使用它,它也将帮助代码检查工具,如 Lint , IDE Android Studio本身支持,构建命令行
以下是Android文档
使用代码检查工具(如Lint)可以帮助您发现问题 并改进您的代码,但检查工具只能推断这么多。 例如,Android资源ID使用int来标识字符串, 图形,颜色和其他资源类型,因此检查工具不能 告诉您何时指定了应该拥有的字符串资源 指定了一种颜色。这种情况意味着您的应用可能会呈现 不正确或根本无法运行,即使您使用代码检查。
注释允许您提供代码检查工具的提示,例如 Lint,帮助检测这些更微妙的代码问题。他们被添加 作为附加到变量,参数和返回的元数据标记 值检查方法返回值,传递参数,本地 变量和字段。与代码检查工具一起使用时, 注释可以帮助您检测问题,例如空指针 异常和资源类型冲突。
Android通过Annotations支持各种注释 支持库。您可以通过访问该库 android.support.annotation包。