안드로이드는 개발 시 문자열을 Strings.xml에 저장하고, name을 불러와서 사용한다.
이 경우 하드코딩을 방지할 수 있는 장점이 있다.
하지만 유효성 검사나 메시지마다 출력되는 값이 달라지는 경우에는 변수가 필요하다.
Strings.xml에서 변수를 사용하는 방법을 알아보자
<string name="valid_message">잘못된 형식의 %s입니다.</string>
출력하려는 변수가 하나일 경우
문자열 : %s , 숫자 : %d
로 작성한다
String.format(resources.getString(R.string.valid_message),"비밀번호")
String.format(resources.getString(R.string.strings에 정의된 이름 ),원하는 데이터)
위와 같은 형식으로 데이터를 넣어주면 된다
<string name="valid_message">%1$d번째 잘못된 형식의 %2$s입니다.</string>
%출력할순서$자료형
으로 작성한다
ex. %1%d -> 1번째로 숫자를 출력한다는 의미
String.format(resources.getString(R.string.valid_message),1,"비밀번호")
strings.xml에 정의한 순서대로 해당하는 값을 넣어준다.
String.format 의 두번째 변수는 가변인자 이기 때문에 위치만 맞춰서 작성하면 따로 매핑할 필요 없이 출력해준다