Пользователи зачастую тратят очень много времени и усилий на создание данных и настройку параметров в приложениях.
Поэтому одна из важнейших задач при разработке платформы — сделать так, чтобы пользователь не терял свои данные, если его устройство вышло из строя или он решил перейти на новое.
Устройства под управлением Android M Preview
отлично справляются с этой задачей, автоматически выполняя резервное копирование данных
приложения в Google Drive. Если пользователь перейдет на новое устройство, данные приложений будут автоматически перенесены
на него.
</p>
<p>
Автоматическое резервное копирование предусмотрено для всех приложений, установленных на устройствах под управлением Android M Preview. При этом
вам не нужно добавлять в приложение дополнительный код. Система сама предложит пользователю возможность включить или отключить
автоматическое резервное копирование данных. Вы также можете указать, для каких данных приложения следует создавать резервные копии, а для каких — нет.
</p>
<p>
В этой статье описывается новое поведение системы и порядок указания данных приложения,
подлежащих резервному копированию.
</p>
<h2 id="overview">Обзор</h2>
<p>
При автоматическом резервном копировании данные, создаваемые в вашем приложении на устройстве пользователя, отпраляются в
Google Drive пользователя и происходит их шифрование, что позволяет предотварить потерю данных. Хранилище для ваших данных предоставляется совершенно
бесплатно. Более того, данные резервного копирования засчитываются вне личной квоты пользователя на использование ресурсов Google Drive. В период использования M Developer Preview
пользователи могут хранить в облаке до 25 МБ данных для каждого приложения Android.
</p>
<p>
Автоматическое резервное копирование выполняется каждые 24 часа, когда устройство не используется, находится в режиме зарядки и подключено к сети
Wi-Fi. При соблюдении необходимых условий служба диспетчера резервного копирования отправляет все доступные резервные копии данных
в облако. Когда пользователь переходит на использование нового устройства или удаляет и заново устанавливает
приложение, для которого имеется резервная копия, выполняется операция восстановления и резервные копии данных переносятся в каталог
переустановленного приложения.
</p>
<p class="note">
<strong>Примечание.</strong> Если ваше приложение использует устаревшую
<a href="{@docRoot}google/backup/index.html">службу резервного копирования Android</a>, то
вместо нового поведения системы будет применяться существующий механизм резервного копирования.
Резервные копии создаются для данных, создаваемых любым приложением, которое установлено на устройстве под управлением M Preview, исключение составляют только
файлы, обозначенные в предыдущем разделе. Если вы хотите самостоятельно определить,
какие данные вашего приложения подлежат резервному копированию, а какие нет, это можно сделать с помощью соответствующих настроек в манифесте приложения.
</p>
<h3 id="include-exclude">Включение или исключение данных</h3>
<p>
В зависимости о того, какие данные требуются вашему приложению и как вы их сохраняете, вам может потребоваться задать определенные правила
для включения или исключения определенных файлов или каталогов. Служба автоматического резервного копирования
поддерживает настройку таких правил посредством XML-файла конфигурации и
манифеста приложения. В манифесте приложения можно указать файл конфигурации схемы резервного копирования, как показано в примере
С помощью перечисленных ниже элементов и атрибутов можно указать файлы, которые вы хотите включить в процесс резервного копирования или исключить из
него:
</p>
<ul>
<li>
<code><include></code>: используйте этот элемент, если хотите, чтобы система не создавала резервные копии всех данных в вашем приложении, как это происходит по умолчанию, а копировала только определенный набор данных.
Если указан тег
<code><include></code>, система создает резервные копии <em>только для ресурсов</em>
с этим элементом.
</li>
<li>
<code><exclude></code>: используйте этот элемент, чтобы указать набор ресурсов, которые
следует исключить из процесса резервного копирования. В таком случае система будет создавать резервные копии всех данных в приложении, кроме ресурсов с этим
элементом;
</li>
<li>
<code>domain.</code>: тип ресурса, который необходимо включить в резервное копирование или исключить из него. Допустимые
значения для этого атрибута могут быть следующие:
</li>
<li style="list-style: none">
<ul>
<li>
<code>root</code>: указывает на то, что ресурс находится в корневом каталоге приложения;
</li>
<li>
<code>file</code>: соответствует ресурсу в каталоге, возвращаемом методом
При возникновении проблем можно стереть резервные копии данных и все связанные с ними метаданные. Для этого
отключите и повторного включите резервное копирование в разделе <strong>Настройки > Резервное копирование</strong>, восстановите заводские настройки устройства или выполните