2013-05-17 9 views
29

Sono un principiante di Android. Mentre provavo un codice di gestione del ciclo di vita delle attività, ho riscontrato una cosa nuova.Comprensione @SuppressLint ("NewApi") annotazione

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; 
} 

} 

Ho capito bene il codice, ma ha dato un errore in ActionBar SuppressLint. Quando ho fatto doppio clic, è stato aggiunto @SuppressLint("NewApi"). Cosa si intende per @SuppressLint("NewApi") qui?

+1

Domanda correlata: http://stackoverflow.com/questions/14341042/what-is-better-suppresslint-or-targetapi – laalto

risposta

56

@SuppressLint("NewApi") è un'annotazione utilizzata dallo strumento Lint Android.

Lint ti dirà quando qualcosa nel codice non è ottimale o potrebbe bloccarsi. Passando NewApi lì, si sta sopprimendo tutte le avvertenze che dirà se si sta utilizzando qualsiasi API introdotte dopo l'minSdkVersion

visualizzare un elenco completo di controlli Lint - tra cui "NewApi" - qui: http://tools.android.com/tips/lint-checks

9

Fonte: click here

Oltre a verificare che l'applicazione Android soddisfi i propri requisiti funzionali, è importante assicurarsi che il codice non abbia problemi strutturali. Un codice scarsamente strutturato può influire sull'affidabilità e sull'efficienza delle tue app Android e rendere il tuo codice più difficile da mantenere. Ad esempio, se i file di risorse XML contengono spazi dei nomi inutilizzati, questo occupa spazio e incorre in un'elaborazione non necessaria. Altri problemi strutturali, come l'uso di elementi deprecati o chiamate API non supportate dalle versioni API di destinazione, potrebbero causare il mancato funzionamento del codice in modo corretto.

Android SDK fornisce uno strumento di scansione del codice chiamato lint che può aiutare a identificare e correggere facilmente i problemi relativi alla qualità strutturale del codice, senza dover eseguire l'app o scrivere casi di test. Ogni problema rilevato dallo strumento viene segnalato con un messaggio di descrizione e un livello di gravità, in modo da poter assegnare rapidamente la priorità ai miglioramenti critici che è necessario apportare. È inoltre possibile configurare il livello di gravità di un problema per ignorare problemi non rilevanti per il progetto o aumentare il livello di gravità. Lo strumento ha un'interfaccia a linea di comando, quindi puoi facilmente integrarlo nel tuo processo di test automatizzato.

Lo strumento lint controlla i file di origine del progetto Android per potenziali bug e miglioramenti di ottimizzazione per correttezza, sicurezza, prestazioni, usabilità, accessibilità e internazionalizzazione. È possibile eseguire lint dalla riga di comando o dall'ambiente Eclipse.

+4

-1 Questa risposta parla di quale sia lo scopo di Lint, ma non parla di la domanda dell'OP: perché viene aggiunta una soppressione di NewApi. – CJBS

+0

Non dice nulla sulla domanda. –