안드로이드 개발할시 주로 문자열을 string.xml 에서 관리합니다. 그런데 이 문자열 사이에 값이 달라지는 변수를 두고 싶을때가 있습니다.
String.xml
<plurals name="file">
<item quantity="one">One file found.</item>
<item quantity="other">%d files found.</item>
</plurals>
%s : string (문자열일경우) %d : int (숫자일경우)
JAVA
출력-> One file found.
도움이 되셨나요?
그럼 손가락을 눌러주세요:)
(저 알림창에서의 변수는 10입니다.)
"[변수A]가 [변수B]에게 인사합니다." 할때 "변수A, B" 부분이 달라지게 하고 싶을때 :
String.xml
<string name="hello">%1$s가 %2$s에게 인사합니다.</string>
%1$s : string (문자열일시) %1$d : int (숫자일시)
JAVA
그리고 자바에서는 아래와 같이 코드를 해줍니다.
Resources res =
String text = String.format(res.getString(R.string.hello), "아이", "선생님");
결과값 -> 아이가 선생님에게 인사합니다.
영문으로 할 때에는 여러개일 경우에는 s가 붙는 거처럼 복수형 형태가 되는 경우가 있습니다.String.xml 문자열/정수 변수 설정하기 - 변수 설정하기
"[변수A]가 [변수B]에게 인사합니다." 할때 "변수A, B" 부분이 달라지게 하고 싶을때 :
String.xml
<string name="hello">%1$s가 %2$s에게 인사합니다.</string>
%1$s : string (문자열일시) %1$d : int (숫자일시)
JAVA
그리고 자바에서는 아래와 같이 코드를 해줍니다.
Resources res =
getResources()
;String text = String.format(res.getString(R.string.hello), "아이", "선생님");
결과값 -> 아이가 선생님에게 인사합니다.
영어권에서 복수형 단어 처리하기
String.xml
<plurals name="file">
<item quantity="one">One file found.</item>
<item quantity="other">%d files found.</item>
</plurals>
%s : string (문자열일경우) %d : int (숫자일경우)
JAVA
String.format(getResources().getQuantityString(R.plurals.file, 2), 4);
출력-> 4 files found.
String.format(getResources().getQuantityString(R.plurals.file, 1), 4);
도움이 되셨나요?
그럼 손가락을 눌러주세요:)
'휴대폰 > Android' 카테고리의 다른 글
안드로이드 앱 개발 - 배경을 연속된 패턴으로 바꾸기(android:background) (0) | 2013.03.01 |
---|---|
갤럭시 노트 U+ 젤리빈 MB2 투명테마(SystemUI.apk) - Neatly UI (10) | 2013.02.26 |
안드로이드 개발 - String을 int로, int를 String으로 바꾸기 (0) | 2013.02.20 |
안드로이드폰 카메라 무음 설정하기 - 초점 소리까지 완전하게 없애기(무음이 완전히 되지 않는 경우) (24) | 2013.02.13 |
갤럭시 노트 U+ 젤리빈 유출 펌웨어(KIES_HOME_E160LKLJMA3_704944_REV02_user_low_ship) (2) | 2013.02.12 |