android - programacion - ¿El archivo xml completo de la copia de seguridad debe estar vacío o no agregarse para incluirlo todo?
manual de programacion android pdf (5)
Así que estaba agregando algunas cosas a mi manifiesto de aplicación y vi que tenía una advertencia en mi etiqueta de aplicación:
En el SDK versión 23 y superior, los datos de su aplicación se copiarán y restaurarán automáticamente en la instalación de la aplicación. Considere agregar el atributo android: fullBackupContent para especificar un recurso @xml que configure los archivos para respaldar.
Y luego busqué eso. Aparentemente solo hay 2 etiquetas para eso: <include>
y <exclude>
. No quiero excluir ningún archivo de la copia de seguridad ya que no tengo ningún archivo local, y no necesito ninguna etiqueta <include>
como
<include>:
especifica un conjunto de recursos para realizar una copia de seguridad, en lugar de hacer que el sistema realice una copia de seguridad de todos los datos en su aplicación de forma predeterminada.
Cuando vi que si no pongo ninguna etiqueta <include>
, el sistema realizará una back up all data in your app by default
, que es exactamente lo que quiero.
Ahora tengo esta pregunta: ¿debo agregar el archivo backup_content.xml
, pero vacío como la configuración predeterminada es buena, o no agregar el archivo en absoluto? (en cuyo caso Android Studio se quejará)
Aquí hay algunos cositas que encontré here .
El comportamiento predeterminado en Marshmallow y versiones posteriores para aplicaciones dirigidas a 23+ es hacer una copia de seguridad de todo
Lo leí como una razón para suprimir la advertencia, si quiero este comportamiento.
La copia de seguridad automática no restaurará una copia de seguridad que se creó a partir de una versión más reciente de su aplicación, ya que asume que puede no funcionar para usted. Esto podría ser un problema si su usuario está migrando a un dispositivo nuevo que tiene una versión anterior de su aplicación preinstalada, ya que esto significaría que no se restaurará nada.
Si está seguro de que puede manejar la compatibilidad hacia adelante, puede usar android:restoreAnyVersion="true"
para anular el comportamiento.
Creo que cuando no se define ninguna exclusión o inclusión, se realiza una copia de seguridad completa.
: Especifica un conjunto de recursos para realizar una copia de seguridad, en lugar de hacer que el sistema realice una copia de seguridad de todos los datos en su aplicación de forma predeterminada . Si especifica un elemento, el sistema solo realiza una copia de seguridad de los recursos especificados con este elemento. Puede especificar varios conjuntos de recursos para hacer una copia de seguridad utilizando varios elementos
Si desea silenciar las advertencias, pero no necesita excluir ningún archivo de la copia de seguridad, también puede agregar tools:ignore="AllowBackup"
a la etiqueta de la application
en su AndroidManifest.xml
para suprimir la advertencia Suppress
botón que aparece al ver los detalles de advertencia).
Solución rápida:
AndroidManifest.xml
<application
android:allowBackup="true"
android:fullBackupContent="true"
...
...
...
</application>
Para obtener más detalles, consulte: https://developer.android.com/guide/topics/data/autobackup
puede agregar android:fullBackupContent="true"
en su androidmanifest.xml