• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1page.title=리소스 개요
2@jd:body
3
4<div id="qv-wrapper">
5<div id="qv">
6  <h2>주제</h2>
7  <ol>
8    <li><a href="providing-resources.html">리소스 제공</a></li>
9    <li><a href="accessing-resources.html">리소스 액세스</a></li>
10    <li><a href="runtime-changes.html">런타임 변경 처리</a></li>
11    <li><a href="localization.html">지역화</a></li>
12  </ol>
13
14  <h2>참조</h2>
15  <ol>
16    <li><a href="available-resources.html">리소스 유형</a></li>
17  </ol>
18</div>
19</div>
20
21
22<p>이미지나 문자열 같은 리소스는 항상 애플리케이션 코드에서
23외부화하여 독립적으로 유지해야 합니다. 리소스를 외부화하면
24다양한 언어나 화면 크기와 같은 특정 기기 구성을 지원하는
25대체 리소스를 제공할 수 있습니다. 이러한 기능은 Android 구동 장치를
26다양한 구성에서 이용하게 되면서 점점 더 중요해지고 있습니다. 여러 가지 구성에
27호환성을 제공하려면 프로젝트의
28{@code res/} 디렉터리 안에 리소스를 정리해야 합니다. 이때 여러 가지 하위 디렉터리를 사용하여 리소스를 유형과 구성
29기준으로 그룹화하면 좋습니다.</p>
30
31<div class="figure" style="width:429px">
32<img src="{@docRoot}images/resources/resource_devices_diagram1.png" height="167" alt="" />
33<p class="img-caption">
34<strong>그림 1.</strong> 각각 기본 레이아웃을 사용하는 서로 다른 두 개의 기기입니다
35(앱에서 대체 레이아웃을 제공하지 않습니다).</p>
36</div>
37
38<div class="figure" style="width:429px">
39<img src="{@docRoot}images/resources/resource_devices_diagram2.png" height="167" alt="" />
40<p class="img-caption">
41<strong>그림 2.</strong> 서로 다른 두 개의 기기로, 각각 다른 화면 크기에 맞게 제공된 서로 다른
42레이아웃을 사용하고 있습니다.</p>
43</div>
44
45<p>어떤 유형의 리소스든 애플리케이션에 맞게<em>기본값</em>과 여러
46<em>대체</em> 리소스를 지정할 수 있습니다.</p>
47<ul>
48  <li>기본 리소스는 기기 구성에 관계없이 항상 사용하거나
49기존 구성에 일치하는 대체 리소스가 없을 때
50사용합니다.</li>
51  <li>대체 리소스는 특정 구성에서 사용하기 위해 개발자가 특별히 디자인한 것을
52말합니다. 리소스 그룹을 특정 구성용으로 지정하려면,
53디렉터리 이름에 적절한 구성 한정자를 추가하십시오.</li>
54</ul>
55
56<p>예를 들어 기본 UI 레이아웃은
57{@code res/layout/} 디렉터리에 저장되어 있더라도 화면이 가로 방향일 때 사용할
58다른 레이아웃을 지정할 수도 있습니다. 이를 {@code res/layout-land/}
59디렉터리에 저장하면 됩니다. Android는
60기기의 현재 구성을 리소스 디렉터리 이름과 일치시켜서 적절한 리소스를 적용합니다.</p>
61
62<p>그림 1은 이용 가능한 대체 리소스가 없을 경우 시스템이 서로 다른 두 개의 기기에
63같은 레이아웃을 적용하는 방법을 보여줍니다. 그림 2는
64같은 애플리케이션에 큰 화면용 레이아웃 리소스를 추가한 모습을 나타낸 것입니다.</p>
65
66<p>다음 문서는 대체 리소스를 체계화하고,
67대체 리소스를 지정하고, 애플리케이션에 액세스 하는 등의 방법에 관한 완전한 지침을 제공합니다.</p>
68
69<dl>
70  <dt><strong><a href="providing-resources.html">리소스 제공</a></strong></dt>
71  <dd>앱에 포함할 수 있는 여러 가지 종류의 리소스와, 이러한 리소스를 저장하는 장소, 특정 기기 구성에 대한
72대체 리소스를 생성하는 방법입니다.</dd>
73  <dt><strong><a href="accessing-resources.html">리소스 액세스</a></strong></dt>
74  <dd>제공한 리소스를 사용하는 방법입니다. 이를 애플리케이션 코드에서 참조하거나
75다른 XML 리소스에서 참조하는 방식을 씁니다.</dd>
76  <dt><strong><a href="runtime-changes.html">런타임 변경 처리</a></strong></dt>
77  <dd>액티비티가 실행 중인 동안 발생한 구성 변경을 관리하는 방법입니다.</dd>
78  <dt><strong><a href="localization.html">지역화</a></strong></dt>
79  <dd>대체 리소스를 사용하여 애플리케이션을 지역화하는 방법에 대한 상세한 가이드입니다. 이것은 대체
80리소스를 사용하는 한 가지 방법에 불과하지만, 더 많은 사용자에게 도달하려면 매우 중요한
81방법입니다.</dd>
82  <dt><strong><a href="available-resources.html">리소스 유형</a></strong></dt>
83  <dd>개발자가 제공할 수 있는 다양한 리소스 유형의 참조로, 각각의 XML 요소,
84속성과 구문을 설명하는 것입니다. 예를 들어, 이 참조는 애플리케이션 메뉴와 드로어블 리소스,
85애니메이션에 대한 리소스를 생성하는 법을 보여줍니다.</dd>
86</dl>
87
88<!--
89<h2>Raw Assets</h2>
90
91<p>An alternative to saving files in {@code res/} is to save files in the {@code
92assets/} directory. This should only be necessary if you need direct access to original files and
93directories by name. Files saved in the {@code assets/} directory will not be given a resource
94ID, so you can't reference them through the {@code R} class or from XML resources. Instead, you can
95query data in the {@code assets/} directory like an ordinary file system, search through the
96directory and
97read raw data using {@link android.content.res.AssetManager}. For example, this can be more useful
98when dealing with textures for a game. However, if you only need to read raw data from a file
99(such as a video or audio file), then you should save files into the {@code res/raw/} directory and
100then read a stream of bytes using {@link android.content.res.Resources#openRawResource(int)}. This
101is uncommon, but if you need direct access to original files in {@code assets/}, refer to the {@link
102android.content.res.AssetManager} documentation.</p>
103-->
104