2014-07-17 11 views
11

Próbuję edytować kod. Zgodnie z notatką dewelopera, jest to część aplikacji w wersji z żelem galaretki. Ale znalazłem fragment kodu, który mnie myli. Co oznacza ten kod? Co się stało, gdyby nie używamy tego lub usuwając ten kawałek kodu:Android Target API

@TargetApi(Build.VERSION_CODES.HONEYCOMB_MR2) 
+3

To pytanie wydaje się być nie na temat, ponieważ pokazuje zupełny brak badań –

+0

powinieneś przynajmniej udostępniać linki że rozmawiasz about.That powinna określać „kodu” –

+0

możliwe duplikat [ android @Suppress errors vs @TargetApi] (http://stackoverflow.com/questions/17665730/android-suppress-errors-vs-targetapi) – SztupY

Odpowiedz

30

Jest to adnotacja, która informuje narzędzie Lint systemu Android, że następująca klasa lub metoda jest ukierunkowana na konkretny poziom interfejsu API niezależnie od tego, co jest określone jako minimalny poziom SDK w manifeście.

Lint generuje błędy i ostrzeżenia, gdy używasz nowych funkcji, które nie są dostępne na docelowym poziomie interfejsu API. Jeśli wiesz, co robisz i masz inne mechanizmy, które uniemożliwiają uruchomienie kodu na starszych poziomach API, możesz użyć tego narzędzia do tłumienia błędów i ostrzeżeń.

Po usunięciu adnotacji, podczas sprawdzania kodu, lint używa ustawienia manifest min API poziomu SDK.

http://developer.android.com/reference/android/annotation/TargetApi.html

0

To adnotacji Java wykonane na Androida:

@TargetApi(Build.VERSION_CODES.HONEYCOMB_MR2) 

mówi narzędzie niestrzępiącą, że następująca klasa/Metoda powinna być wykonywana tylko wtedy, gdy użytkownik korzysta z aplikacji pod Honeycomb.

+6

FWIW, adnotacja jest używana tylko przez narzędzie linek. Nie ma to wpływu na środowisko wykonawcze. – laalto

+0

@laalto masz rację ... edytowane. – SuppressWarnings