메뉴 건너뛰기

조회 수 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 manifest 의 launchMode 속성 2015.08.11 7576
76 Intent (인텐트) 2016.06.07 7626
75 [Android 2.3] spinner file 2015.07.01 7647
74 버튼(Button) 패딩 제거 2016.06.10 7651
73 이미지의 Orientation를 체크해서 이미지 회전하기 2015.07.16 7658
72 안드로이드 스튜디오 - rendering problem 해결법 file 2015.07.10 7661
71 Activity Data Transfor/ 액티비티 이동간에 데이터 전송하기 file 2016.06.07 7676
70 [안드로이드] 화면추가 버튼 리스너 file 2015.07.22 7681
69 안드로이드 EditText 필터링 검색 file 2015.12.14 7686
68 암시적 인텐트를 사용한 인터넷열기, 전화걸기, 문자보내기 [Intent (인텐트)] file 2016.06.07 7736
67 Android 와 JSP 간 파라미터 암복호화 (2) 2016.05.26 7741
66 HTML5 드래그 앤 드롭 하기 Drag and Drop file 2014.09.04 7748
65 Java Applet과 javascript와의 통신 2015.06.29 7754
64 안드로이드 스튜디오 - 줄번호 표시하기 1 file 2015.07.03 7755
63 문자를 음성으로 변환(TTS)에 대해 알아보자 file 2015.07.01 7768
62 안드로이드스택(Android Stack) 확인 file 2016.06.10 7778
61 폰갭(PhoneGap) & jQuery Mobile 로 안드로이드 어플 개발 file 2015.06.29 7839
60 어댑터 뷰(Adapter View) & 어댑터(Adapter) (1) file 2016.06.08 7852
59 안드로이드 NDK 개발환경 만들기 / 이클립스 NDK 설정 file 2015.06.10 7890
58 안드로이드 - 소방시설바이블 어플 소스 ( 폰갭, 폰갭플러그인, assets 폴더안의 파일 이용, pdf 리더기 선택, 유튜브재생기 선택 ) file 2015.06.29 7976
Board Pagination Prev 1 ... 4 5 6 7 8 9 10 11 12 13 Next
/ 13

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

© k2s0o1d4e0s2i1g5n. All Rights Reserved