web-dev-qa-db-fra.com

Comprendre l'annotation @SuppressLint ("NewApi")

Je suis un Android débutant. En essayant un code de gestion du cycle de vie des activités, j'ai rencontré une nouvelle chose.

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

}

J'ai bien compris le code, mais il a donné une erreur dans ActionBar SuppressLint. Lorsque je double-clique dessus, @SuppressLint("NewApi") est ajoutée. Qu'entend-on par @SuppressLint("NewApi") ici?

36
vhd

@SuppressLint("NewApi") est une annotation utilisée par l'outil Android Lint.

Lint vous avertira chaque fois que quelque chose dans votre code n'est pas optimal ou peut se bloquer. En y passant NewApi, vous supprimez tous les avertissements qui vous indiqueraient si vous utilisez une API introduite après votre minSdkVersion

Voir une liste complète des contrôles Lint - y compris "NewApi" - ici: http://tools.Android.com/tips/lint-checks

71
Raghav Sood

Source: cliquez ici

En plus de vérifier que votre application Android répond à ses exigences fonctionnelles, il est important de vous assurer que votre code ne présente aucun problème structurel. Un code mal structuré peut avoir un impact sur la fiabilité et l'efficacité de votre Android apps et rendez votre code plus difficile à gérer. Par exemple, si vos fichiers de ressources XML contiennent des espaces de noms inutilisés, cela prend de la place et entraîne un traitement inutile. D'autres problèmes structurels, tels que l'utilisation d'éléments obsolètes ou d'appels d'API qui sont non pris en charge par les versions d'API cibles, peut entraîner l'échec de l'exécution correcte du code.

Le SDK Android fournit un outil d'analyse de code appelé lint qui peut vous aider à identifier et à corriger facilement les problèmes de qualité structurelle de votre code, sans avoir à exécuter l'application ou à écrire tous les cas de test. Chaque problème détecté par l'outil est signalé avec un message de description et un niveau de gravité, afin que vous puissiez rapidement hiérarchiser les améliorations critiques à apporter. Vous pouvez également configurer le niveau de gravité d'un problème pour ignorer les problèmes qui ne sont pas pertinentes pour votre projet, ou augmentez le niveau de gravité. L'outil dispose d'une interface de ligne de commande, de sorte que vous pouvez facilement l'intégrer dans votre processus de test automatisé.

L'outil lint vérifie les fichiers source de votre projet Android pour les bogues potentiels et les améliorations d'optimisation pour l'exactitude, la sécurité, les performances, la convivialité, l'accessibilité et l'internationalisation. Vous pouvez exécuter lint à partir de la ligne de commande ou de l'environnement Eclipse.

9
Kiwi