일반적으로 어플리케이션에서 사용되는 문자열을 정의 해 놓는 string.xml 파일에 임의의 인자값을 정의하여 추후 클래스파일에서 값을 설정할 수 있습니다.

Formatting Strings라고 하며, android에서 정해진 특별한 규칙을 통해 인자값을 줄 수 있습니다.


인자값이 정의된 string resource의 형태는 아래와 같습니다.

 

string.xml

string resource에 줄수 있는 자료형은 숫자형의 d와 문자형의 s가 있습니다.
d는 Double형이고, s는 String형 입니다.


인자값 지정은 %순서$자료형 으로 합니다.
인자를 23개까지 줘 봤는데 이상없이 잘 출력되는 것으로 보아, 인자의 갯수제한은 없는 것 같습니다.
인자에 대한 값 지정은 클래스에서 getString() 메서드를 통해 할 수 있습니다.

 

MainActivity.java

 

MainActivity.java에서 사용하는 Layout은 아래와 같습니다.

 

activity_main.xml

 

위 샘플소스를 첨부하였으니 필요하신 분은 참고하시기 바랍니다.


FormattingStrings.zip



아래는 활용 예 입니다.

string 파일의 인자 순서에따라 결과가 출력 됩니다.

 


 

String형은 문자 뿐만 아니라 숫자도 에러 없이 동일한 결과를 표현 합니다.

 


 

하지만, Double형은 숫자 이외의 값이 오면 에러가 발생합니다.

 


 

string 파일에 정의된 인자의 갯수가 getString()에서 설정하는 인자보다 많으면 에러가 발생합니다.

 


 

getString()에서 설정하는 인자의 갯수가 string 파일에 정의된 인자보다 많으면 정의된 갯수 이외의 인자는 무시됩니다.

 



 

반응형

+ Recent posts