Intereting Posts
AutoCompleteTextView обнаруживает, когда выбранная запись из списка редактируется пользователем Android – calculateInSampleSize, почему Math.round справляется с высотой (height / reqHeight), когда ширина> высота? Как фильтровать результаты AutoCompleteTextView? GridLayout рушится на небольшом дисплее Недостатки использования Basic4Android? Eclipse не создает файлы в новом проекте Android Отзывчивый веб-сайт показывает на веб-представление из мобильной ширины (не реагирует) другим способом в Chrome выглядит хорошо Android-эмулятор не будет монтировать SD-карту Как перечислить все файлы в Android-телефоне с помощью оболочки adb? Как отключить все звуки на Android Как остановить работу GC_CONCURRENT так часто? Название действия или получателя, вызывающего службу Перенос массива байтов из мыльного сервиса в android Как получить имя пользователя, телефон и электронную почту из PayPal Mobile Payment Library Как получить непрерывное событие Touch?

Android: есть ли простой способ найти все строки в моем проекте?

Я хочу отсканировать свой проект Android для всех жестко закодированных строк, чтобы я мог локализовать проект, помещая строки в strings.xml. Я вижу вариант в Eclipse для «Externalize Strings …», но он не специфичен для Android.

Я знаю, что вы можете реорганизовать отдельные строки, но я бы хотел реорганизовать все строки сразу. У меня тонна файлов, и я стараюсь избегать каждого из них вручную.

Я бы просто открыл окно терминала (шпатлевка, если вы находитесь на окнах) в корневом каталоге вашего проекта. Затем вы можете запустить что-то вроде следующего:

grep -r --include=*.java '="[^"\r\n]*"' ./* --to look for something like this String test="text";, a string with ="" or grep -r --include=*.java '"[^"\r\n]*"' ./* -- to look for any string, anything enclosed in "" 

Конечно, следующая часть состоит в том, чтобы фактически заменить строки на Strings.xml, которые также могут быть написаны сценарием, но могут занять больше времени.

Я сам искал это. Это хороший способ сделать это:

Щелкните правой кнопкой мыши по каталогу «src» -> Источник -> Внешние строки

Это найдет все строки, не являющиеся внешними, и предоставит вам возможность «Овернизировать».

Надеюсь, это поможет 🙂

Редактировать:
Это не то же самое, что Android -> Extract Android String. Но это может помочь вам найти все строки, не связанные с внешними. Затем на каждой строке вам нужно будет выполнить:
Ctrl + 1 -> Android -> Извлечь строку Android.

Field[] fields = R.string.class.getDeclaredFields(); // or Field[] fields = R.string.class.getFields(); String str = ""; for (int i =0; i < fields.length; i++) { int resId = getResources().getIdentifier(fields[i].getName(), "string", getPackageName()); str += fields[i].getName() + " = "; if (resId != 0) { str += getResources().getString(resId); } str += "\n"; }

Вы получите все коды строк со значениями в переменной «str».

Просто настройте eclipse, чтобы показать всю строку в коде: Настройка eclipse для подачи жалоб на жестко закодированные строки для настроек android xml

И замените их один за другим рефактором eclipse

Я считаю, что аддон Google CodePro для Eclipse имеет эту функцию где-то там