web-dev-qa-db-fra.com

Le fichier xml du contenu de la sauvegarde complète doit-il être vide ou pas ajouté du tout pour tout inclure?

J'ajoutais donc des éléments à mon manifeste d'application et j'ai vu que j'avais un avertissement sur mon tag d'application:

À partir de la version 23 du SDK, les données de votre application seront automatiquement sauvegardées et restaurées lors de son installation. Pensez à ajouter l'attribut Android: fullBackupContent pour spécifier une ressource @xml qui configure les fichiers à sauvegarder.

Et puis j'ai cherché pour ça. Apparemment, il n'y a que 2 tags pour cela: <include> et <exclude>. Je ne souhaite exclure aucun fichier de la sauvegarde car je ne possède aucun fichier dépendant de l'environnement local et je n'ai pas besoin de balises <include> car

<include>:Spécifie un ensemble de ressources à sauvegarder au lieu que le système sauvegarde par défaut toutes les données de votre application.

Quand j'ai vu que si je ne mets aucune balise <include>, alors le système va back up all data in your app by default, ce qui est exactement ce que je veux.

Maintenant, j'ai cette question: dois-je ajouter le fichier backup_content.xml, mais vide car les paramètres par défaut sont corrects, ou ne pas ajouter le fichier du tout? (auquel cas Android Studio se plaindra)

26
Chaoz

Solution rapide:

AndroidManifest.xml

<application
    Android:allowBackup="true"
    Android:fullBackupContent="true"
    ...
    ...
    ...
</application>

Pour plus de détails, voir: https://developer.Android.com/guide/topics/data/autobackup

13
user_MGU

vous pouvez ajouter Android:fullBackupContent="true"dans votre androidmanifest.xml

3
behrad

Voici quelques petites choses que j'ai trouvées ici .

Le comportement par défaut sur Marshmallow et les versions ultérieures pour les applications ciblant plus de 23 ans consiste à tout sauvegarder.

Je lis cela comme raison pour supprimer l'avertissement, si vouloir ce comportement.

Par défaut, Auto Backup ne restaure pas une sauvegarde créée à partir d'une version plus récente de votre application, car elle suppose que cela ne fonctionnera peut-être pas pour vous. Cela pourrait poser problème si votre utilisateur migre vers un nouveau périphérique sur lequel une version plus ancienne de votre application est préinstallée, car cela signifierait que rien n'est restauré.

Si vous êtes certain de pouvoir gérer la compatibilité en aval, vous pouvez utiliser Android:restoreAnyVersion="true" pour remplacer le comportement.

1
seekingStillness

Si vous souhaitez désactiver les avertissements, mais n'avez pas besoin d'exclure des fichiers de la sauvegarde, vous pouvez également ajouter tools:ignore="AllowBackup" à la balise application dans votre AndroidManifest.xml pour supprimer l'avertissement (ou utiliser le bouton Suppress que vous obtenez lorsque détails d'avertissement).

0
Hemaolle

Je pense que lorsque vous ne définissez aucune exclusion ou inclusion, une sauvegarde complète est effectuée.

: Spécifie un ensemble de ressources à sauvegarder, au lieu de laisser le système sauvegarder toutes les données de votre application par défaut . Si vous spécifiez un élément, le système ne sauvegarde que les ressources spécifiées avec cet élément. Vous pouvez spécifier plusieurs ensembles de ressources à sauvegarder en utilisant plusieurs éléments.

0
Laire