android - studio - アンドロイドスタジオの「タイプの期待リソース」チェック?
lint results html (3)
android.support.annotation
使用できるすべてのアノテーションをhere見つけることができhere 。
注釈のサポートに関する技術文書
https://code.i-harness.com
Android Studio Beta(0.8)は、いくつかのint
パラメータが任意の整数ではなく、いくつかのプロパティを持っているかどうかをチェックする素晴らしい新機能を備えています。
たとえば、次のようなものを呼び出します。
setContentView(R.id.textView1);
R.id.textView1
がレイアウトIDではないことを正しく報告します(メッセージは「レイアウトの予想されるリソース」です)。 これには他の場合があります。
理解しやすいように、この保護は、自分のメソッドをミックスに追加するとすぐに失われます。
private void mySetContentView(int resourceId) {
setContentView(resourceId);
}
私は任意の整数でmySetContentView()
を呼び出すことができ、それは不平を言うことはありません。
だから私は2つの(関連する)質問があります:
- これはどのようにして達成されましたか?特別な小切手はリントに「焼かれましたか」?
-
mySetContentView()
メソッドに注釈を付けて、無効な値で呼び出しているときにリソースタイプのエラーも報告する方法はありますか?
(ヘッドアップのために@ CommonSWareに感謝します)。
これらのチェックを独自のコードでサポートするためのJava注釈があります。 それらはすべてandroid.support.annotations
パッケージにあります:
-
IdRes
-
DrawableRes
-
LayoutRes
-
StringRes
- &c
この場合、たとえば、次のように使用できます。
private void mySetContentView(@LayoutRes int resourceId) {
setContentView(resourceId);
}
Android Studioは、提供されたリソースIDが実際にレイアウト用であることを確認します。
さらに、これらのアノテーションはエクスポートされるので、ライブラリを設計するときに特に便利です。
ソース:
- Google I / O 2014のビデオ: Android開発ツールの新機能
これはすべて注釈です。
@AnimatorRes
@AnimRes
@AnyRes
@ArrayRes
@AttrRes
@BoolRes
@ColorRes
@DimenRes
@DrawableRes
@FractionRes
@IdRes
@IntDef
@IntegerRes
@InterpolatorRes
@LayoutRes
@MenuRes
@NonNull
@Nullable
@PluralsRes
@RawRes
@StringDef
@StringRes
@StyleableRes
@StyleRes
@XmlRes