Что такое @SuppressWarnings ( "deprecation" ) и ( "unused" ) в Android?

Что означают эти строки в моем проекте?

@SuppressWarnings("deprecation")
@SuppressWarnings("unused")

Ответ 1

Аннотация @SuppressWarnings отключает определенные предупреждения компилятора. В этом случае предупреждение о устаревшем коде ("deprecation") и неиспользуемых локальных переменных или неиспользуемых частных методах ("unused"). В этой статье объясняются возможные значения.

Ответ 2

В Java @SuppressWarnings используются, чтобы ограничить компилятор для отображения определенного предупреждения на экране консоли.

например

@SuppressWarnings("unused")
CheckBox transferredField = new CheckBox("is transferred");

если я не использую переменную transferredField в моем коде, тогда ваша среда Eclipse никогда не будет показывать предупреждение о том, что вы не используете эту переменную transferredField в своем коде.

Ответ 3

Еще одно: вы можете не только добавить их в строку, но также методы аннотации. F.ex.

@Override
@SuppressWarnings("deprecation")
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    addPreferencesFromResource(R.xml.preferences);
}

Тем не менее, рекомендуется использовать наименьшую возможную область

В качестве стиля программисты должны всегда использовать эту аннотацию на самом глубоко вложенном элементе, где она эффективна. Если вы хотите подавить предупреждение в определенном методе, вы должны аннотировать этот метод, а не его класс.

Ответ 4

the @SuppressWarnings("unused") и другие, которые я пробовал, но это не работает, и я всегда использую метод say gradle в этом проекте

lintOptions{
        checkReleaseBuilds false
        abortOnError  false;
        disable 'deprecation'
    }

    tasks.withType(JavaCompile) {
        options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation"
    }