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конкретных устройств, например, различные языки или размеры экранов. Значение этого возрастает по мере того, как 26появляется все больше устройств Android с разными конфигурациями. Чтобы обеспечить 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>Например, несмотря на то, что макет пользовательского интерфейса по умолчанию 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