2016-09-27 4 views
2
int API_VERSION = 21; 

@TargetApi(API_VERSION)は、メソッド/クラスがAPI_VERSION以下でサポートされるようにAndroidで使用されます。@minApiアノテーションは、Androidの@TargetApiアノテーションに類似していますか?

API_VERSION以上でのみメソッドまたはクラスがサポートされていることを指定する類似のものをミラーリングできますか?

注: - このようなアノテーションは見つかりませんでしたが、このようなことが起こったのか、独自のアノテーションを実装したのかコミュニティに尋ねたいと思いますか?

+0

このアノテーションの効果はどのようなものでしょうか?注釈の背後にある点は、コンパイル時またはランタイム効果を持つことです。 – CommonsWare

+0

@CommonsWare特定のクラス/メソッドをより高いAPIレベルでのみ呼び出すようにします。このクラス/メソッドは、より高いAPIレベル、たとえば21以上を使用します。たとえば21 +の材料設計を使用していますが、これをより低いレベルで呼び出すことはできません。 nhaarmanは良い答えがあります。 –

答えて

2

@RequiresApiがあります:

は注釈付き要素のみを与えられたAPIレベル以上に呼ばれるべきであることを示します。

これは、古い@TargetApiアノテーションと目的は似ていますが、minSdkVersionを超えるメソッド内の警告を「抑制」するのではなく、呼び出し元の要件であることをより明確に表しています。

+0

素晴らしい。ちょうど私が必要なもの。 –

関連する問題