Study
[안드로이드 스튜디오] activity_main.xml에서 Hardcoded string "~~' 경고
Devailean
2021. 2. 24. 17:20
안드로이드 스튜디오에서 activity_main.xml 파일에서 액티비티 레이아웃을 설정할 때
버튼이나 텍스트 추가 시 다음과 같은 경고가 나온다.
Hardcoded string "Button", should use '@string' resource.
해석하자면 '버튼에 들어갈 텍스트가 hardcoded 됐으니 @string 리소스를 사용해라' 라는 뜻이다.
이 말이 뭐냐면
위와 같이 텍스트에 "Button"으로 텍스트를 할당하지 말고
res/values/strings.xml 파일에 문자열로 지정해줘서 그 문자열을 가져오라는 말이다.
사실 그렇게 안해도 앱 실행은 잘 되지만, 추천하지 않는다.
strings.xml 파일에 들어가면
위와 같이 앱 이름이 app_name 문자열 변수에 할당되어 있다.
직접 코드를 작성하여 원하는 텍스트를 문자열 변수에 지정하여도 되고,
상단 오른쪽의 open editor버튼을 눌러 +를 누른 뒤 키와 기본 값을 지정해줘도 된다.
그렇게 하면 아래와 같이 키와 값이 나열된다.
xml파일을 다시 확인해보면
입력한 키와 값이 코드로 작성되어져 있다.
이제 이 문자열을 버튼에 할당해보자.
방법1
android:text="@string/지정한 문자열 키"
위의 코드를 입력하거나,
방법2
디자인 모드에서 텍스트 옆의 길쭉한 버튼을 눌러 문자열을 클릭하고 OK를 클릭.
이렇게 하면 자주 쓰이는 문자에 대해 하나하나 버튼을 찾아가며 바꾸지 않아도 된다.