0

Я знаю, что это может быть глупым вопросом для некоторых, но что именно делает «Извлечение String Resource» в Android Studio? Я знаю, что он обновляет файл strings.xml, но почему мы его извлекаем? В чем смысл этого? И я не уверен, когда его использовать? Благодарим вас за помощь и время! (Я новичок в Android Studio).Как и когда использовать «Extract String Resource»?

ответ

1

Почему мы его извлекаем?

Чтобы взять литеральную строку, где-то жестко закодированную, и заменить ее на строковый ресурс и ссылку на этот ресурс строки. Таким образом, вы включаете что-то вроде:

btnSomething.setText("Foo"); 

с:

btnSomething.setText(R.string.foo); 

и <string> ресурса с именем foo со значением по умолчанию Foo.

В принципе, вы используете строковые ресурсы для переводов. Итак, res/values/strings.xml может содержать английские строки, но res/values-fr/strings.xml будет содержать французские строки и т. Д.

+0

Большое вам спасибо! Так что я должен извлечь строку, если я ТОЛЬКО хочу, чтобы она была на английском? Это приложение, вероятно, будет только на английском языке, так значит ли это, что мне еще нужно извлечь строку? Но теперь я понимаю, почему мы используем его благодаря вам, спасибо! – MarkPrescher

+0

@MarkPrescher: вам не нужно использовать строковые ресурсы, если вы этого не хотите. Я бы порекомендовал их использовать, просто чтобы вы устроились на практике. Просто потому, что * это * приложение будет только на английском языке, это не означает, что каждое приложение, на котором вы когда-либо работаете *, будет находиться на одном языке. Кроме того, если этот код будет замечен кем-либо другим, кроме вас (обзор кода, портфолио как часть приложения для работы и т. Д.), * Они * могут ожидать, что вы будете использовать строковые ресурсы. – CommonsWare

+0

Большое вам спасибо за помощь! Я действительно очень ценю это! – MarkPrescher

0

В дополнение к ответу @ CommonsWare, использование строковых ресурсов также помогает, когда вам нужно повторно использовать одну и ту же строку в разных местах. Поэтому вместо жесткого кодирования строкового литерала в каждом случае вы просто используете ресурс <string>.

Это также упрощает обслуживание вашего кода, например, для случаев, когда вам нужно изменить строку, вы просто переходите к своему res/values/strings.xml и изменяете эту единственную строку, а не отслеживаете, где бы вы ни жестко закодировали эту литеральную строку.

+0

Благодарим вас, приложение необходимо регулярно обновлять и обновлять! Я определенно буду учитывать это! – MarkPrescher