메뉴 건너뛰기

조회 수 811 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부

1. xml string 리소스 파일 추가

프로젝트를 생성하면 자동으로 생성되는 /res/values/string.xml 파일 안에 리소스를 추가를 해도 상관없지만 따로 xml 문자열 리소스 파일을 생성하여 추가하도록 하겠습니다. 

 

 

 

▼ values 폴더를 우클릭하여 [New]-[values resource file]을 클릭합니다. 파일 이름을 mystring.xml로 지정하고 ok를 클릭하면 /values/ 경로에 mystring.xml 파일이 생성되는 것을 확인할 수 있습니다.

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string-array name = "FLOWER">
        <item>무궁화</item>
        <item>장미</item>
        <item>해바라기</item>
    </string-array>
</resources>

■ <resource> ~ </resource>

 

- 안드로이드에서 리소스를 추가할 때 반드시 최상위에 정의해야하는 루트 요소입니다. 

- 따로 속성을 가지지 않습니다.

 

■ <string-array> ~ </string-array>

 

- 문자열 배열 리소스를 추가합니다. 하위 요소로 <item> 요소를 추가할 수 있습니다.

- name 속성값을 반드시 지정해줘야 합니다. 다른 곳에서 참조할 수 있도록 리소스 ID로 사용됩니다.

- name 속성값은 리소스 ID로 사용되기 때문에 다른 리소스 ID와 중복 값은 피해야 합니다.

 

■ <item>~</item>

 

-  문자열 배열에서 문자열 하나를 추가할 때 사용합니다. 

-  값은 다른 문자열 리소스의 참조를 사용할 수 있습니다.

2. 자바 소스에서 string 배열 리소스 참조하기

이번에는 자바 소스에서 앞서 추가했던 string 배열 리소스를 참조하는 방법을 살펴보겠습니다. 

    <TextView
        android:id="@+id/textView1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" 
        android:text = "TextView"/>

    <TextView
        android:id="@+id/textView2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="TextView" />

    <TextView
        android:id="@+id/textView3"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="TextView" />

▼ 예제 구현을 위해 TextView 3개를 화면에 배치합니다. 

public class MainActivity extends AppCompatActivity{

    private TextView textView1;
    private TextView textView2;
    private TextView textView3;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_resource);

        textView1 = (TextView)findViewById(R.id.textView1);
        textView2 = (TextView)findViewById(R.id.textView2);
        textView3 = (TextView)findViewById(R.id.textView3);

        String[] array = getResources().getStringArray(R.array.FLOWER);

        textView1.setText(array[0]);
        textView2.setText(array[1]);
        textView3.setText(array[2]);
    }
}

▼ 예제의 전체 자바 소스코드입니다. 하나씩 살펴보겠습니다. 

 

 

 

▼ 먼저 화면에 배치했던 TextView의 참조를 리소스 ID를 통해 얻어옵니다. 

 

 

 

▼ getResource() 반환된 Resource 객체로부터 getStringArray(R.array. 리소스 ID)를 통하여 앞서 추가했던 문자열 배열 리소스를 가져와 String 배열에 담고 있습니다. 

 

 

 

▼ String 배열의 각 요소에 해당하는 문자열 값을 TextView의 Text 속성 값으로 지정합니다. 

 

 

 


3. 참조 

■ 문자열 리소스 추가 안드로이드 공식 문서 

 

https://developer.android.com/guide/topics/resources/string-resource?hl=ko#StringArray

 

■ 단일 문자열 리소스 추가

 

[Android] 안드로이드 - 문자열 리소스(Resource) 추가 및 참조하기

 

■ 문자열 리소스를 활용한 다국어 지원

 

[Android] 안드로이드 - 문자열 리소스를 활용한 다국어 지원


List of Articles
번호 제목 날짜 조회 수
77 안드로이드 스튜디오 actionbar(액션바) 사라짐 file 2020.12.14 614
76 패키지명을 한꺼번에 변경하기 (Refactor) file 2020.12.14 295
75 하이브리드앱 기본 - WebView로 웹페이지 띄우기 file 2020.12.14 1025
74 ListView 리스트뷰 연습3 - 커스텀 리스트뷰 (Custom ListView) file 2020.12.14 906
73 초기화면 페이지를 만들어보자. splash 페이지 제작 file 2020.12.14 287
72 안드로이드 앱배포하기 apk 만들기 file 2020.12.14 326
71 안드로이드 입문 연습문제 3문항 - CheckBox, RadioButton, EditText, Spinner, 이벤트연습 file 2020.12.14 480
70 Apk manager 이용해 Decompile (디컴파일) 하기 file 2021.03.16 1624
69 안드로이드 arrayList 를 Json으로 변환 / jsonarry file 2021.03.29 326
68 안드로이드 unescape /escape [StringEscapeUtils로 해결] file 2021.03.29 344
67 안드로이드 스튜디오 - 싱글톤 패턴 (SingleTon Pattenr) 클래스 자동 생성 file 2021.03.29 621
66 안드로이드 스튜디오 - getter/setter 메소드 자동생성 file 2021.03.29 583
65 안드로이드 스튜디오 - 필수 재정의 함수 자동 코드 추가 file 2021.03.29 194
64 안드로이드 스튜디오 - 코드 자동 들여쓰기 file 2021.03.29 420
63 안드로이드 - 리니어 레이아웃 (Linear Layout) file 2021.03.29 319
62 안드로이드 - 랠러티브 레이아웃(Relative Layout) file 2021.03.29 239
61 안드로이드 - 프레임레이아웃 (FrameLayout) file 2021.03.29 517
60 안드로이드 - 에디트텍스트(EditText) 사용법 정리 file 2021.03.29 2760
59 버튼 생성, 이벤트 처리 file 2021.03.31 236
58 Java에서 XML 불러와서 동적 변화 주기 file 2021.03.31 288
Board Pagination Prev 1 ... 4 5 6 7 8 9 10 11 12 13 Next
/ 13

하단 정보를 입력할 수 있습니다

© k2s0o1d4e0s2i1g5n. All Rights Reserved