Backup de dados do Android

Neste artigo, discutiremos os vários aspectos do backup de dados do Android , incluindo o registro de um aplicativo com o serviço de backup do Google, agente de backup, auxiliares de backup e exemplos de código para SharedPreferencesBackupHelper e FileBackupHelper .

Como desenvolvedor Android , você deve saber que os dados do usuário, como preferências, configurações e conteúdo gerado pelo usuário, são importantes para seu aplicativo. Para garantir que seus usuários não percam seus dados em caso de perda de dispositivo, exclusão acidental ou reinstalação de aplicativo, é crucial fornecer uma funcionalidade de backup e restauração para esses dados. Felizmente, o Android oferece uma estrutura integrada de backup e restauração que permite fazer backup e restaurar facilmente dados de aplicativos para armazenamento em nuvem remoto.



Registrando um aplicativo com o serviço de backup do Google

Se você deseja adicionar a funcionalidade de backup e restauração ao seu aplicativo Android, será necessário registrar seu aplicativo no serviço de backup do Google. Isso pode ser feito adicionando uma tag de metadados ao arquivo AndroidManifest.xml do seu aplicativo.

<application
android:allowBackup="true"
android:backupAgent="MyBackupPlace">

<meta-data
android:name="com.google.android.backup.api_key"
android:value="AEdPqrEAAAAIErlxFByGgNz2ywBeQb6TsmLpp5Ksh1PW-ZSexg" />
</application>

Ao configurar a funcionalidade de backup e restauração para seu aplicativo Android, você precisará incluir o atributo android:allowBackup no arquivo AndroidManifest.xml de seu aplicativo para habilitar esse recurso.

Além disso, o atributo android:backupAgent deve ser incluído, especificando o nome da classe que estende BackupAgentHelper. Por fim, deve ser adicionada a tag de metadados com.google.android.backup.api_key, que requer uma chave de API fornecida pelo serviço de backup do Google para identificar seu aplicativo.


Criando um agente de backup

Para lidar com todas as operações de backup de dados, você precisará usar a classe BackupAgentHelper fornecida pelo Android. Você pode criar um agente de backup estendendo esta classe, permitindo que você utilize sua funcionalidade. A sintaxe para criar um agente de backup é a seguinte.

public class MyBackUpPlace extends BackupAgentHelper {
}

Auxiliares de backup

Se você deseja fazer backup de dados persistentes em seu aplicativo Android, eles normalmente serão armazenados na forma de SharedPreferences ou File. Para ajudar no backup desses dois tipos de dados, o Android fornece duas classes auxiliares de backup: SharedPreferencesBackupHelper e FileBackupHelper.

SharedPreferencesBackupHelper

SharedPreferencesBackupHelper é uma classe auxiliar de backup fornecida pelo Android para fazer backup de dados SharedPreferences. Se estiver usando SharedPreferencesBackupHelper em seu aplicativo Android, você pode aproveitar os seguintes métodos:

Métodos Visão geral
constructor Para criar uma nova instância de SharedPreferencesBackupHelper, você pode usar o construtor que usa dois parâmetros – um objeto Context e uma matriz de valores String representando os nomes dos grupos SharedPreferences que precisam de backup.
performBackup(ParcelFileDescriptor oldState, BackupDataOutput data, ParcelFileDescriptor newState) Esse método é chamado durante as operações de backup e usa três parâmetros. O primeiro é o estado antigo do aplicativo, o segundo é um objeto BackupDataOutput usado para gravar os dados de backup e o terceiro é o novo estado do aplicativo após o backup.
restoreEntity (dados BackupDataInputStream) Quando seu aplicativo está sendo restaurado, esse método é chamado e recebe um único parâmetro – um objeto BackupDataInputStream que contém os dados de backup. Você pode usar este método para ler os dados e restaurar os dados SharedPreferences para o dispositivo.
getFilesDir() Este método retorna o diretório onde os arquivos SharedPreferences são armazenados.
getSharedPreferences() Este método retorna uma instância de SharedPreferences que pode ser usada para acessar os dados SharedPreferences.

Ao usar SharedPreferencesBackupHelper, você precisará instanciar seu objeto com o nome do seu arquivo SharedPreferences, conforme mostrado abaixo.

static final String FILE_NAME_OF_PREFERENCES = "myPreferences";
SharedPreferencesBackupHelper helper = new SharedPreferencesBackupHelper(this, FILE_NAME_OF_PREFERENCES);

Para fazer backup e restaurar todos os grupos de SharedPreferences especificados no objeto SharedPreferencesBackupHelper, você pode usar a classe SharedPreferencesBackupHelper. Para adicionar um helper a um determinado subconjunto de dados na configuração do agente, pode-se chamar o método addHelper, que é mostrado a seguir.

addHelper(PREFS_BACKUP_KEY, helper);

Aqui, usamos PREFS_BACKUP_KEY como uma string para identificar nossos dados de backup.

FileBackupHelper

FileBackupHelper é uma classe auxiliar de backup no Android que fornece funcionalidade de backup e restauração para arquivos de aplicativos.
Se você estiver trabalhando com a classe FileBackupHelper no Android, poderá usar os seguintes métodos:

Métodos Visão geral
Construtor Crie uma nova instância da classe FileBackupHelper com um contexto e nome de arquivo especificados.
performBackup() Faça backup dos arquivos especificados quando chamado pela estrutura de backup. Requer um fluxo de saída de dados de backup como argumento.
restaurarEntidade() Restaure os arquivos especificados quando chamados pela estrutura de restauração. Requer um fluxo de entrada de dados de backup e um cabeçalho de entidade como argumentos.
escrevaNewStateDescription() Grave uma nova descrição de estado para os arquivos especificados quando chamados pela estrutura de backup. Requer um fluxo de saída de dados de backup como argumento.
getFile() Obtenha o objeto File para o nome de arquivo especificado.
onRestoreFinished() Execute qualquer tarefa de limpeza ou inicialização após a restauração de todos os dados. Esse método é chamado pela estrutura de restauração.
onRestoreFile() Restaurar um único arquivo quando chamado pela estrutura de restauração. Requer um objeto File e um ParcelFileDescriptor como argumentos.
onBackupFile() Faça backup de um único arquivo quando chamado pela estrutura de backup. Requer um objeto File e um ParcelFileDescriptor como argumentos.

Para utilizar FileBackupHelper, você precisará criar um objeto desta classe especificando o nome do arquivo dos dados que deseja fazer backup, conforme mostrado abaixo.

FileBackupHelper helper = new FileBackupHelper(this, FILE_NAME_OF_DATA);

Para adicionar um helper a um determinado subconjunto de dados na configuração do seu agente, você pode chamar o método addHelper, que é mostrado abaixo.

addHelper(DATA_BACKUP_KEY, helper);

Aqui, DATA_BACKUP_KEY é uma string que identifica nossos dados de backup.


Métodos de backup e restauração

Para fazer backup e restaurar os dados do aplicativo usando o Android Backup Service, você precisa usar os métodos de backup e restauração. A classe BackupAgentHelper fornece um conjunto de métodos que você pode usar para executar essas operações. Aqui estão os principais métodos que você precisa saber:

Métodos Visão geral
onBackup() Esse método é chamado quando é hora de fazer backup dos dados do aplicativo. Você deve substituir esse método em sua subclasse BackupAgentHelper e implementar sua lógica de backup aqui.
onRestore() Esse método é chamado quando é hora de restaurar os dados do aplicativo. Você deve substituir esse método em sua subclasse BackupAgentHelper e implementar sua lógica de restauração aqui.
getFilesDir() Este método retorna o caminho absoluto para o diretório no sistema de arquivos onde os arquivos criados com openFileOutput(String, int) são armazenados.
getDatabasePath(String) Esse método retorna o caminho absoluto para o arquivo de banco de dados privado associado ao nome do banco de dados especificado.
getSharedPreferences(String, int) Este método retorna uma instância de SharedPreferences que está associada ao nome e modo especificados.

Vantagens do backup de dados

O backup de dados do Android oferece várias vantagens, como:

Vantagens Visão geral
Proteção de dados Os dados do seu usuário são copiados para armazenamento em nuvem remoto, garantindo que eles sejam protegidos contra perda em caso de perda do dispositivo, exclusão acidental ou reinstalação do aplicativo.
Experiência do usuário aprimorada A funcionalidade de backup e restauração permite que os usuários atualizem ou troquem de dispositivos sem se preocupar em perder seus dados, proporcionando assim uma experiência perfeita.
Fácil implementação A estrutura integrada de backup e restauração do Android simplifica a implementação da funcionalidade de backup e restauração em seu aplicativo.
Tempo de desenvolvimento reduzido Usando a estrutura integrada de backup e restauração, você pode economizar tempo e esforço no desenvolvimento de suas próprias soluções de backup e restauração.
Maior confiança do usuário Fornecer a funcionalidade de backup e restauração em seu aplicativo pode aumentar a confiança do usuário, pois é mais provável que os usuários confiem em aplicativos que tomam medidas para proteger seus dados.

Você aprendeu sobre os vários aspectos do backup de dados do Android neste artigo, incluindo como registrar seu aplicativo no serviço de backup do Google, criar um agente de backup e usar auxiliares de backup, como SharedPreferencesBackupHelper e FileBackupHelper. Ao aproveitar a estrutura integrada de backup e restauração do Android, você pode fornecer um ambiente seguro e protegido para os dados de seus usuários, mesmo em situações como perda de dispositivo, exclusão acidental ou reinstalação de aplicativo.

Nós valorizamos o seu feedback.
+1
0
+1
0
+1
0
+1
0
+1
0
+1
0
+1
0

Assine a nossa newsletter
Digite seu e-mail para receber um resumo semanal de nossos melhores posts. Saber mais!
ícone