Текстовый список в Android string-array XML

Вставьте по одному элементу в строке и получите готовый блок ресурсов Android.

Работает полностью в браузере. Введённые данные не отправляются и не сохраняются.

Как пользоваться

  1. Введите имя массива для R.array.
  2. Вставьте список, по одному элементу в строке.
  3. Скопируйте XML или скачайте arrays.xml.
  4. Поместите в res/values/ вашего Android-проекта.

Когда Android-приложению нужен фиксированный список — страны, категории, варианты для Spinner, — его обычно хранят как <string-array> в res/values. Набирать вручную десятки тегов <item> утомительно, а один неэкранированный апостроф может сломать сборку. Этот конвертер превращает текстовый список, по одному элементу в строке, в готовый блок <resources> для вставки в strings.xml или скачивания в виде arrays.xml.

У каждой строки обрезаются пробелы по краям, пустые строки удаляются, а строки, начинающиеся с "[source", пропускаются. Для string-array и array символы & < > записываются как XML-сущности, перед обратной косой чертой, апострофом и двойной кавычкой ставится обратная косая черта, а элемент, начинающийся с @ или ?, экранируется, чтобы его не приняли за ссылку на ресурс. В имени массива остаются только латинские буквы, цифры и подчёркивания, а если оно начинается с цифры, впереди добавляется подчёркивание. В коде массив читается через getResources().getStringArray(R.array.name), а integer-array — через getIntArray.

Ограничения: элементы integer-array копируются как есть, без проверки, что это целые числа. Спецификаторы формата вроде %s или %d не изменяются. Текст обрабатывается только в вашем браузере, никуда не отправляется и не сохраняется.

Частые вопросы

Экранируются ли апострофы и кавычки?

Да. ' " & < > и начальные @ или ? экранируются, чтобы aapt компилировал ресурс без ошибок.

Какие строки пропускаются?

Пустые строки и строки, начинающиеся с "[source"; у всех строк обрезаются пробелы.

Можно сделать integer-array?

Да, выберите integer-array в типе.

Похожие инструменты