2013-05-17 4 views
29

Ich bin ein Android-Anfänger. Während ich einen Code für die Verwaltung des Lebenszyklus von Aktivitäten versuchte, stieß ich auf eine neue Sache.Verstehen @SuppressLint ("NewApi") Annotation

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

} 

Ich verstand den Code gut, aber es gab einen Fehler in ActionBar SuppressLint. Wenn ich darauf doppelklicke, wird @SuppressLint("NewApi") hinzugefügt. Was ist mit @SuppressLint("NewApi") hier gemeint?

+1

In Verbindung stehende Frage: http://stackoverflow.com/questions/14341042/what-is-better-suppresslint-ar-targetapi – laalto

Antwort

56

@SuppressLint("NewApi") ist eine Anmerkung, die vom Android Lint-Tool verwendet wird.

Lint wird Ihnen sagen, wenn etwas in Ihrem Code nicht optimal ist oder abstürzen kann. Durch die Übergabe NewApi gibt, sind zu unterdrücken Sie alle Warnungen, die Sie würde sagen, wenn Sie eine API verwenden eingeführt, nachdem Ihre minSdkVersion

eine vollständige Liste der Lint Kontrollen See - einschließlich „NewApi“ - hier: http://tools.android.com/tips/lint-checks

9

Quelle: click here

Zusätzlich zu testen, dass Ihre Android-Anwendung seine funktionalen Anforderungen erfüllt, ist es wichtig, sicherzustellen, dass Ihr Code keine strukturellen Probleme hat. Schlecht strukturierter Code kann sich auf die Zuverlässigkeit und Effizienz Ihrer Android-Apps auswirken und die Pflege Ihres Codes erschweren. Wenn Ihre XML-Ressourcendateien beispielsweise nicht verwendete Namespaces enthalten, belegt dies Platz und führt zu unnötiger Verarbeitung. Andere strukturelle Probleme, wie die Verwendung veralteter Elemente oder API-Aufrufe, die von den Ziel-API-Versionen nicht unterstützt werden, können dazu führen, dass der Code nicht ordnungsgemäß ausgeführt wird. Das Android-SDK enthält ein Code-Scan-Tool mit der Bezeichnung lint, mit dem Sie Probleme mit der strukturellen Qualität Ihres Codes leicht identifizieren und beheben können, ohne die App ausführen oder Testfälle schreiben zu müssen. Jedes vom Tool erkannte Problem wird mit einer Beschreibungsnachricht und einem Schweregrad gemeldet, sodass Sie schnell die wichtigen Verbesserungen priorisieren können. Sie können auch den Schweregrad eines Problems konfigurieren, um Probleme zu ignorieren, die für Ihr Projekt nicht relevant sind, oder den Schweregrad erhöhen. Das Tool verfügt über eine Befehlszeilenschnittstelle, sodass Sie es problemlos in Ihren automatisierten Testprozess integrieren können.

Das Tool lint überprüft Ihre Android-Projektquelldateien auf potenzielle Fehler und Optimierungsverbesserungen für Korrektheit, Sicherheit, Leistung, Benutzerfreundlichkeit, Zugänglichkeit und Internationalisierung. Sie können lint über die Befehlszeile oder aus der Eclipse-Umgebung ausführen.

+4

-1 Diese Antwort spricht über, was der Zweck von Lint ist, aber erwähnt nichts über die Frage des OP - warum eine Unterdrückung von NewApi hinzugefügt wird. – CJBS

+0

Sagt nichts über die Frage. –