본문 바로가기
Android Studio

[Android Studio] values 폴더의 strings.xml 사용하기

by dong_su 2023. 12. 22.

 

res/values/strings.xml

  • strings.xml 파일은 언어만 따로 처리하면, 다국어 처리가 쉽기 때문에 파일 하나로 관리해준다.
  • 코드에 값을 바로 입력하는 하드코딩도 하지 않기 때문에 변수값도 strings.xml 파일에 저장해서 활용할 수 있다.

사용하기

<resources>
    <string name="app_name">QuizApp</string>
    <string name="q1">A honey bee can fly at 15mph.</string>
    <string name="q2">A jellyfish is approximately 95% water.!</string>
    <string name="q3">Elephants are the only mammals that can\'t jump</string>
    <string name="q4">Cats can hear ultrasound.</string>
    <string name="q5">A human brain weighs about three pounds.</string>
    <string name="q6">The tongue is the fastest healing part of the body.</string>
    <string name="q7">Americans, on average, eat 18 acres of \"pizza\" a day.</string>
    <string name="q8">A kangaroo can jump 30 feet.</string>
    <string name="q9">A pigeon\'s feathers are heavier than its bones.</string>
    <string name="q10">The tallest man was 8 ft. 11 in.</string>
</resources>

 

사용할 데이터들을 <string>태그에 담고 속성 name="변수명"으로 작성(복붙) 한다.

 

// Quiz 클래스
public class Quiz {
    public int question;
    public boolean answer;

    public Quiz(int question, boolean answer){
        this.question = question;
        this.answer = answer;
    }
}

// Quiz 타입 ArrayList 객체 생성
ArrayList<Quiz> quizArrayList = new ArrayList<>();

// 생성자
Quiz q = new Quiz(R.string.q1,true);
quizArrayList.add(q);

 

strings.xml에 태그의 속성 name 값에 넣은 변수 사용  = R.string.q1 

위 코드 생성자부분을 보면, 첫번째 인자의 타입은 int인데 R.string.q1이 들어갔다.

이유는 strings.xml 파일 <string>태그의 속성 name의 값인 변수 q1은 컴파일하는 과정에서 int 타입으로 변하기 때문.