Notice
Recent Posts
Recent Comments
Link
250x250
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- Kotlin
- Coroutines
- 계측
- 안드로이드
- Dialog
- 테스트
- 앱바
- data
- Navigation
- binding
- textfield
- Button
- tabbar
- activity
- drift
- Flutter
- appbar
- LifeCycle
- viewmodel
- DART
- livedata
- Compose
- scroll
- intent
- textview
- CustomScrollView
- 앱
- TEST
- android
- ScrollView
Archives
- Today
- Total
Study Record
[안드로이드] 문자열 따로 저장하고 불러오기(strings.xml) 본문
728x90
😶 개요
Android 프로젝트에서 문자열을 따로 직접 곳곳에 사용하는 것보다 한 파일에 앱에서 사용하는 문자열을 따로 정리하고 코드에는 문자열이 저장된 파일을 참고하는 방식이 관리하기 좋다.
😶 사용법
문자열 리소스 저장하기
res/values/strings.xml 파일에 문자열 리소스를 저장한다.
<resources>
<string name="app_name">Lemonade</string>
<string name="lemon_select">pick a lemonade!</string>
<string name="happy_birthday">Happy Birthday!</string>
</resources>
문자열 리소스마다 name 으로 이름을 붙이고 <string> 태그 사이에 내용을 적는다. 코드에서는 name 을 이용하여 원하는 문자열 리소스를 불러올 수 있다.
코드에서 문자열 리소스 불러오기
다음 두가지 방식 모두 사용 가능 하다.
getResources().getString(R.string.happy_birthday)
getString(R.string.happy_birthday)
문자열에 다른 텍스트 삽입하기
문자열 리소스에서 "%1d" , "%2s" 등을 사용하면 문자열에 다른 텍스트를 삽입할 수 있다.
<string name="squeeze_count">Squeeze count %1$d, keep squeezing! %2$s</string>
만약 문자열 리소스가 저런 형식이면 첫 번째 인자(%1)로는 "$d" 즉, 정수형태의 텍스트를 받을 수 있고 두 번째 인자(%2)로는 "s" 이므로 문자열($s)을 삽입할 수 있다.
따라서, getString() 의 첫 번째 인자는 문자열 리소스의 id 값을 적고, 두 번째 인자부터 삽입할 텍스트 형식을 넣어주면 된다. 삽입할 첫번째 인자는 정수형태였으므로 2 가 올 수 있고 두번째 인자로는 문자열 형태였으므로 "cocoa powder" 가 올 수 있다.
getResources().getString(R.string.ingredient_tablespoon, 2, "cocoa powder")
728x90
'안드로이드' 카테고리의 다른 글
[안드로이드] 아이콘, 적응형 앱 아이콘 (0) | 2023.07.12 |
---|---|
[안드로이드] RadioButton, RadioGroup 살펴보기 (0) | 2023.07.11 |
[안드로이드] 디버깅 살펴보기 (0) | 2023.07.03 |
[안드로이드] 자동화 테스트 기본 사항 (0) | 2023.06.30 |
[안드로이드] lifecycle library 사용하기 (0) | 2023.06.29 |