Могу ли я пометить ресурс в своем проекте android как устаревший?
У меня есть библиотека android, для которой я хотел бы отметить некоторые ресурсы как устаревшие. Чертежи, размеры, длительность... Я где-то читал, что я мог бы добавить deprecated="deprecated" к определению ресурса, но это, похоже, ничего не дает.
В Android R вы можете видеть такие вещи, как
@java.lang.Deprecated
public static final int autoText = 16843114;
Я пытаюсь создать нечто подобное, редактируя длительность.значение XML.xml или даже public.XML...
Спасибо!
2 ответа:
Короткий ответ: Невозможно.
@deprecated
теги используются источником Android внутри комментариев, как это можно увидеть в fw / base core / res / values/attrs.xml (см. строку 3427 для автотекста, как указано в исходном сообщении), в fw/base core/res/values/public.xml и в других местах по всему проекту, но похоже, что инструменты сборки, используемые для построения приложений, просто пропускают все комментарии, что означает, что теги аннотации также пропускаются в процессе заставить этот метод потерпеть неудачу.Пример использования устаревших аннотаций на основе Android source:
<!-- {@deprecated Use foobar instead.} --> <string name="foo">abc</string> <string name="foobar">abcd</string>
То, что я делаю, - это просто добавляю утверждение TODO. Он не помечает ресурс, но ключевое слово doc TODO действительно отображается в Git и как метки в канаве. Надеюсь, этих предупреждений будет достаточно, чтобы удержать вас и других от его использования.
Но не всегда. Как мы знаем, @Deprecated по сути является стоп-гэпом, пока что-то не будетдействительно удалено навсегда и код не будет очищен должным образом.Вот пример фигуры.xml-файл, который я больше не использую (и хочу @Возражать).
<?xml version="1.0" encoding="utf-8"?> <!-- Border around card elements. For now this is used only within the cards of the Questionnaire RecyclerView. TODO: This file is obsolete. Use CardView instead. --> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" > <stroke android:width="@dimen/tiny_card_margin" android:color="@color/colorPrimaryDark" /> <solid android:color="@android:color/white" /> <corners android:radius="4dp" /> </shape>