0

이것이 다소 모호한 질문 일 수 있지만, Android Studio에서 'Extract String Resource'는 정확히 무엇을합니까? strings.xml 파일을 업데이트한다는 것을 알고 있지만 왜 압축을 풀까요? 그것의 요점은 무엇입니까? 그리고 언제 사용할지 모르겠습니다. 도와 주셔서 감사합니다. (Android Studio를 처음 사용했습니다).'Extract String Resource'를 사용하는 방법 및시기는 무엇입니까?

답변

1

왜 추출할까요?

어딘가에 하드 코딩 된 문자열을 가져 와서 문자열 리소스 및 해당 문자열 리소스에 대한 참조로 바꾸십시오.

btnSomething.setText("Foo"); 

과 :

btnSomething.setText(R.string.foo); 

Foo의 기본값 foo라는 <string> 자원 그래서, 당신은 뭔가를 켭니다.

번역을 위해 주로 문자열 리소스를 사용합니다. 따라서 res/values/strings.xml은 미국 영어 문자열을 포함 할 수 있지만 res/values-fr/strings.xml은 프랑스어 문자열을 포함합니다.

+0

정말 고마워요! 영어로만 원하면 문자열을 추출해야합니까? 이 응용 프로그램은 아마도 영어로만 제공되므로 문자열을 추출해야한다는 의미입니까? 하지만 지금은 왜 우리가 당신 덕분에 그것을 사용하는지 이해합니다, 감사합니다! – MarkPrescher

+0

@MarkPrescher : 원하지 않는 경우 문자열 리소스를 사용할 필요가 없습니다. 나는 당신이 연습에 익숙해 지도록 그냥 사용하는 것을 권합니다. * this * 앱이 영어로만 작성되었다고해서 * 당신이 작업 한 모든 앱이 * 단일 언어로 작성된다는 것을 의미하지는 않습니다. 또한이 코드가 자신 이외의 다른 사람 (코드 검토, 직업 응용 프로그램의 일부로서의 포트폴리오 등)에 의해 표시되는 경우 * 문자열 리소스를 사용할 것으로 기대할 수 있습니다. – CommonsWare

+0

도움을 주셔서 대단히 감사합니다! 정말 고맙습니다. – MarkPrescher

0

@ CommonsWare의 대답 외에도 문자열 리소스를 사용하면 다른 위치에서 동일한 문자열을 다시 사용해야 할 때도 도움이됩니다. 따라서 각 경우에 문자열 리터럴을 하드 코딩하는 대신 <string> 리소스 만 사용하면됩니다.

이렇게하면 문자열을 변경해야하는 경우처럼 res/values/strings.xml으로 가서 리터럴 문자열을 하드 코딩 한 곳을 추적하는 대신 해당 단일 문자열을 수정하면됩니다.

+0

감사합니다. 앱을 정기적으로 관리하고 업데이트해야합니다. 나는 이것을 고려할 것입니다! – MarkPrescher

관련 문제