본문 바로가기

Android/XML : Layout

Android의 string.xml 은 왜 단일 파일로 관리될까요?


<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
    <string name="activity_sample_code">API Demos</string>

    <!-- =============================== -->
    <!--  app/activity examples strings  -->
    <!-- =============================== -->

    <string name="main_new_title">Application</string>
    <string name="dialog_menu_new_title">Application</string>
    <string name="dialog_menu_accept">Application</string>
    <string name="dialog_menu_cancle">Application</string>
    <string name="image_menu_new_title">Application</string>
    <string name="image_menu_accept">Application</string>
    <string name="image_menu_cancle">Application</string>


</resources>

안드로이드의 string을 관리할 수 있는 values/string.xml 파일의 예시이다.
그런데  대체 왜 단일파일안에 모든 string을 관리하는걸까?
아니면 소분류를 자동으로 지정해서 관리할 수 있는 체계가 낫지 않을까??
(Activity 별로 따로 하면 편할 것 같다. 공통으로 사용하는 변수도 따로 관리하고..)

프로그램 규모가 커지면 코딩할 때에 상당히 불편하다..

위에서 보듯이 실제로 프로그래밍 할 때에
    <string name="dialog_menu_new_title">starcraft II</string>
    <string name="dialog_menu_accept">game is ok</string>
    <string name="dialog_menu_cancle">game is cancled</string>
이런식으로 string을 사용하는 액티비티명 등으로 분류를 해서 관리를 해야 한다는 것이다..

이 방식은 사용할 때와 string.xml에 추가할 때 둘 다 불편하다.
차라리
<tag class="dialog">
    <string name="new_title">starcraft II</string>
    <string name="accept">game is ok</string>
</tag>

이런식의 분류라도 지원해주면 좋을 것 같다.
그리고 사용할 때엔 "@string/dialog/new_title" 이런식으로 하든지..