본문 바로가기
공부/Android

Android - 문자열 리소스를 왜 사용해야 할까? (strings.xml)

by hhhello 2024. 7. 3.

TextView나 Button에 text속성 썼는데 위와 같이 Android Studio에 노란 경고줄이 뜨며 “Hello World”라는 문자열은 하드코딩 되었으니 @string 리소스를 사용하라고 한다.

왜 String 리소스를 사용해야 할까?

일단 하드코딩된 문자열의 단점이 있다.

  1. 글로벌한 앱의 경우 번역하기 어렵다.
  2. 같은 문자열을 사용할 경우 재사용하기 어렵다.

String 리소스 사용 방법

res > values > strings.xml 파일에서 문자열을 등록할 수 있다.

나는 아까 “Hello World”문자열을 “hello_world”라는 이름의 태그를 만들어 추출했다.

<resources>
    <string name="app_name">StringResource</string>
    <string name="hello_world">Hello World</string>
</resources>

사용할때는 android:text=”@string/hello_world”로 사용할 수 있다.

<TextView
    ...
    android:text="@string/hello_world"
    ... />

Android Studio를 사용하면 그냥 text를 적은 다음 ‘Extract String resource’글자를 눌러 추출해낼 수 있다.