AndroidのアプリデータをGoogleドライブに自動でバックアップする方法

Androidでアプリ開発を行う上で、データの保存は大抵の場合で必要になってきます。

また、単一のスマートフォンでアプリが動くようになったとしても、今度はスマートフォンの移行という壁が立ちはだかります。

しかしAndroidには、移行を簡単に行ってくれる機能が存在します。

今回は、その実装方法を紹介します。

 

□■□■□

Androidのスマートフォン間のデータ移行は自動バックアップ機能と呼ばれ、以下の方法で保存されたデータの移行をすることができます。

・DataStore(旧Preference)
・Room(旧SQLite)

これらを使用していれば、設定ファイルを用意するだけで自動バックアップが行われます。

まずは、AndroidManifest.xmlで以下が設定されていることを確認します。

<manifest>
・・・
    <android>
        ・・・
        android:allowBackup="true"
        android:fullBackupContent="@xml/backup_rules"
        ・・・
    </android>
・・・
</manifest>

allowBackupは、プロジェクトができた段階でデフォルトでtrueが指定されていますが、fullBackupContentに関しては特に何も記載されていないと思うので、1から開発している場合は、fullBackupContentの行を追加してください。

続いて、res/xml/backup_rules.xmlファイルを編集します。このファイルは、場合によっては存在しないことがあるため、もし無い場合には作成してください。

ファイルの内容は、丸々以下のように記載してください。

<?xml version="1.0" encoding="utf-8"?>
<data-extraction-rules>
   <cloud-backup disableIfNoEncryptionCapabilities="false">
      <include domain="sharedpref" path="."/>
      <exclude domain="sharedpref" path="device.xml"/>
   </cloud-backup>
   <device-transfer>
      <include domain="sharedpref" path="."/>
      <exclude domain="sharedpref" path="device.xml"/>
   </device-transfer>
</data-extraction-rules>

設定の詳しい内容については公式のホームページを見ていただきたいですが、前半はGoogleアカウントを経由したバックアップの設定、後半はAndroid同士をType-Cケーブルで接続した際のバックアップの設定が書かれています。

以上を設定することで、スマートフォンの設定の項目にある設定の頻度に応じてバックアップが行われ、新しいスマートフォンや今のスマートフォンでアプリを新しくインストールした際に、アプリデータが復旧します。

注意点としては、スマートフォンの初期セットアップ時に、どの端末の設定を引き継ぎますか、という質問で、引き継ぎ対象のスマートフォンを選ばないとデータが復旧しないため、ショップでスマートフォンの設定をやってもらっている人は注意してください。

□■□■□

というわけで、Androidの自動バックアップ機能の実装方法を紹介しました。

細かい話をすると、Androidのバージョンによって設定ファイルに書き込む情報は異なるのですが、自動バックアップを使用する人は全部バックアップする人だけだと思うので、結果だけ紹介しました。

正式な実装方法や最新の方法を知りたい方は、公式ページからどうぞ。

https://developer.android.com/guide/topics/data/autobackup

以上!

このブログの人気の投稿

動画編集ソフト「Shotcut」で縦向きの動画を横向きにする方法。

Audacityで音声部分のみを自動カットする方法

Android Studioでの動的なLayoutの幅と高さの変更方法