2013-05-17 11 views
29

Jestem początkującym androidem. Podczas próby kodu zarządzania cyklem życia działalności napotkałem coś nowego.Opis adnotacji @SuppressLint ("NewApi")

package com.example.activitylaunch; 

import android.os.Build; 
import android.os.Bundle; 
import android.annotation.SuppressLint; 
import android.app.ActionBar; 
import android.app.Activity; 
import android.view.Menu; 
import android.widget.TextView; 

@SuppressLint("NewApi") 
public class MainActivity extends Activity { 

TextView mTextView; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    mTextView = (TextView) findViewById(R.id.text_message); 

    if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) 
    { 
     ActionBar actionBar = getActionBar(); 
     actionBar.setHomeButtonEnabled(false); 
    } 
    } 

@Override 
public void onDestroy(){ 
    super.onDestroy(); 
    android.os.Debug.stopMethodTracing(); 
} 

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    // Inflate the menu; this adds items to the action bar if it is present. 
    getMenuInflater().inflate(R.menu.main, menu); 
    return true; 
} 

} 

Dobrze zrozumiałem kod, ale spowodował błąd w ActionBar SuppressLint. Kiedy dwukrotnie go kliknąłem, dodawana jest @SuppressLint("NewApi"). Co oznacza tutaj @SuppressLint("NewApi")?

+1

Powiązane pytanie: http://stackoverflow.com/questions/14341042/what-is-better-suppresslint-or-targetapi – laalto

Odpowiedz

56

@SuppressLint("NewApi") to adnotacja używana przez narzędzie Android Lint.

Lint powie ci, gdy coś w twoim kodzie nie jest optymalne lub może się zawiesić. Przekazując NewApi tam, jesteś tłumiąc wszelkie ostrzeżenia, że ​​powie ci, jeśli używasz żadnego API wprowadzony Po minSdkVersion

Zobacz pełną listę kontroli Lint - w tym „NewApi” - tutaj: http://tools.android.com/tips/lint-checks

9

Źródło: click here

Oprócz sprawdzenia, czy aplikacja Android spełnia wymagania funkcjonalne, ważne jest, aby upewnić się, że Twój kod nie ma żadnych problemów strukturalnych. Źle ustrukturyzowany kod może mieć wpływ na niezawodność i wydajność Twoich aplikacji na Androida oraz utrudniać utrzymanie kodu. Na przykład, jeśli pliki zasobów XML zawierają nieużywane przestrzenie nazw, zajmuje to miejsce i powoduje niepotrzebne przetwarzanie. Inne problemy strukturalne, takie jak użycie nieaktualnych elementów lub wywołania interfejsu API, które nie są obsługiwane przez docelowe wersje interfejsu API, mogą spowodować, że kod nie będzie działał poprawnie.

Zestaw narzędzi SDK do systemu Android udostępnia narzędzie do skanowania kodu o nazwie lint, które może pomóc w łatwym identyfikowaniu i korygowaniu problemów z jakością strukturalną kodu bez konieczności uruchamiania aplikacji lub pisania żadnych przypadków testowych. Każdy problem wykryty przez narzędzie jest zgłaszany z komunikatem opisującym i poziomem ważności, dzięki czemu można szybko nadać priorytet krytycznym usprawnieniom, które należy wprowadzić. Można również skonfigurować poziom ważności problemu, aby zignorować problemy, które nie są istotne dla projektu, lub podnieść poziom istotności. Narzędzie ma interfejs wiersza poleceń, dzięki czemu można go łatwo zintegrować z automatycznym procesem testowania.

Narzędzie lint sprawdza pliki źródłowe projektów Androida pod kątem potencjalnych błędów i optymalizacji pod kątem poprawności, bezpieczeństwa, wydajności, użyteczności, dostępności i internacjonalizacji. Można uruchomić lint z wiersza poleceń lub ze środowiska Eclipse.

+4

-1 Ta odpowiedź mówi o tym, jaki jest cel Lint, ale nie wspomina nic o pytanie OP - dlaczego dodaje się tłumienie NewApi. – CJBS

+0

Nic nie mówi o tym pytaniu. –