2013-05-17 4 views
29

Я начинаю андроид. Пробовав код управления жизненным циклом деятельности, я столкнулся с новой вещью.Понимание @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; 
} 

} 

Я понял код хорошо, но он дал ошибку в ActionBar SuppressLint. Когда я дважды щелкнул его, добавляется @SuppressLint("NewApi"). Что здесь означает @SuppressLint("NewApi")?

+1

Связанный вопрос: http://stackoverflow.com/questions/14341042/what-is-better-suppresslint-or-targetapi – laalto

ответ

56

@SuppressLint("NewApi") - аннотация, используемая инструментом Android Lint.

Lint скажет вам, когда что-то в вашем коде не является оптимальным или может упасть. Пропустив NewApi там, вы подавляя все предупреждения, которые говорят вам, если вы используете какой-либо API введен после того, как ваш minSdkVersion

Посмотреть полный список Lint проверок - в том числе «NewApi» - здесь: http://tools.android.com/tips/lint-checks

9

Источник: click here

Помимо тестирования того, что приложение Android соответствует его функциональным требованиям, важно убедиться, что ваш код не имеет структурных проблем. Плохо структурированный код может повлиять на надежность и эффективность ваших приложений Android и сделать ваш код сложнее в обслуживании. Например, если ваши файлы ресурсов XML содержат неиспользуемые пространства имен, это занимает пробел и не требует ненужной обработки. Другие структурные проблемы, такие как использование устаревших элементов или вызовы API, которые не поддерживаются версиями целевого API, могут привести к неправильной работе кода.

Android SDK предоставляет инструмент сканирования кода под названием lint, который поможет вам легко идентифицировать и исправить проблемы со структурным качеством вашего кода без необходимости запуска приложения или написания тестовых примеров. Каждая проблема, обнаруженная инструментом, сообщается с сообщением описания и уровнем серьезности, чтобы вы могли быстро определить приоритеты важных улучшений, которые необходимо выполнить. Вы также можете настроить уровень серьезности проблемы, чтобы игнорировать проблемы, которые не имеют отношения к вашему проекту, или повысить уровень серьезности. Инструмент имеет интерфейс командной строки, поэтому вы можете легко интегрировать его в свой автоматический процесс тестирования.

Инструмент lint проверяет исходные файлы проекта Android на предмет возможных ошибок и улучшений оптимизации для правильности, безопасности, производительности, удобства использования, доступности и интернационализации. Вы можете запустить lint из командной строки или из среды Eclipse.

+4

-1 Этот ответ рассказывает о том, что цель Линта, но ничего не говорит о вопрос OP - почему добавляется подавление NewApi. – CJBS

+0

Ничего не задает вопрос. –

 Смежные вопросы

  • Нет связанных вопросов^_^