Android アプリにはアプリ内データを Google Drive などのクラウドにバックアップする機能を持つものがあります。
バックアップされたデータを直接利用したい場合の手順について、その一例をメモしました。
メモした手順は今回対象にしたアプリ以外でも似たような形で利用できると思います。
アプリデータをクラウドバックアップから取り出す
今回、例に出す Android アプリは「縦型カレンダー&簡単メモ」です。
(縦型カレンダー形式で各日付にテキストメモを記入し、一覧で表示できるシンプルなカレンダーメモアプリ)
Simple and easy reading vertical calendar application.…
(※画像はイメージです)
このような感じで毎日記録している一言日記のテキストデータをエクスポートしてアプリ以外 (PCなど) でも確認したいのですが、アプリにはデータのエクスポート機能がありません…。
しかし Google ドライブにバックアップファイルを保存する機能はあるので、そのバックアップファイルからデータが取り出せればアプリ外からも日記データを取り出せそうです。
このようにバックアップファイルが Google ドライブに保存されるようなアプリであれば、データが取り出せるチャンスがあります。
(本当は端末本体にデータを CSV 形式などでエクスポートできれば一番良いのですが…)
アプリバックアップデータ取り出し手順
① アプリ側での操作
まずはアプリ側でバックアップデータを作成します。
このとき、今の日時を確認してください。(バックアップファイル特定用)
② Google Drive 側での操作
(ここでは Google Drive にバックアップデータが出力された場合を例に説明しますが、バックアップ先が他のクラウド等でも同様です。)
ドライブ内に、先ほどバックアップを作成した日時で更新されたファイルが無いか確認します。
バックアップファイルの形式はアプリによって様々でありアプリ名がバックアップファイルの名前に含まれているとは限らないので、バックアップ作成日時のみが頼りです。
Google Drive の検索欄右端にあるフィルターボタンから、更新日が「今日」のファイルだけを検索できます。
ファイルの最終更新時刻を確認して、バックアップを行った時刻と一致しているものを見つければOKです。
それを手元にダウンロードします。
データベースファイル名の例
「縦型カレンダー&簡単メモ」のバックアップファイル名は「main_db」(拡張子無し)でした。
db とは database (データベース) の略です。
アプリによって異なりますが、次のようなファイル名ならそれが当該アプリのバックアップファイルの可能性が高いと思います。
<ファイル名に含まれる単語>
- db, database
- bk, backup
- (アプリ名)
<ファイル拡張子の例>
- .db / .csv
- .sqlite / .sqlite3
- .dat / .bak
- (そのアプリ独自の拡張子) / (無し)
③ ファイルからのデータ取り出し
② でダウンロードしたバックアップファイルからデータを取り出します。
拡張子が省略されていたり .dat / .bak のような中身が曖昧な拡張子である場合はどのような形式でデータがファイル内に入っているか分からないので、まずはファイルをとりあえずメモ帳で開いてみます。
今回の場合、メモ帳で開いた時点で文字化けがたくさんある状態なのでただのテキストデータではないようです。
しかし先頭に「SQLite format 3」という文字列があるので、SQLite 形式 (データベースの形式の一つ) であることがわかります。
よって、後はその形式のファイルを読み込めるソフトを用意すればOKです。
(こんな感じでファイルの種類を判別するか、ファイルの拡張子判別ツールを使って何のファイルか確かめてみてください。)
SQLite ファイル内のデータを見てみる
使用ソフト
SQLite ファイルの閲覧が可能なソフト「DB Browser for SQLite」を今回は使用しました。
リンク:DB Browser for SQLite のダウンロード先
※私は .zip 形式の 64 bit 版をダウンロードしました。
解凍後、ソフト本体「DB Browser for SQLite.exe」を起動し、先ほどのデータベースファイル (main_db) をソフトで読み込みます。
データが入っている場所
ソフト画面左上のタブが「データベース構造」になっているとき、今開いているデータベースファイルにどのような構造でデータが格納されているか表示されます。
肝心なデータの中身を閲覧するには「データ閲覧」のタブに移動します。
閲覧するデータの種類は「テーブル」という項目のリストから選択できます。
アプリがデータベースに保存しているデータは色々ありますが、日付ごとの一言日記のデータは「payment_data数字」のテーブルに入っていました。
記録している日記とデータが一致しているので、このテーブル (payment_data数字) が目的の日記データが入ったテーブルですね。
このテーブルを丸ごと CSV 形式 (メモ帳や Excel で直接開ける形式) でエクスポートしたい場合は以下の手順でできます。
今表示しているテーブルがデフォルトで選択されているので、そのまま「保存」を押せば現在のテーブルを CSV 形式でエクスポートできます。
(複数のテーブルを選択して一括エクスポートすることもできる)
データベースの操作
データベースファイルは閲覧・エクスポートだけでなく編集も可能です。
編集したデータベースをアプリ側に読み込ませることもできます。
テーブル内の編集したいセルを選択し、ソフト右画面に表示されるセルの内容表示テキストボックスの内容を書き換えます。
書き換え後、「適用」を押すとデータベースを書き換えられます。
それ以外にもいろいろな操作ができるので、詳しくは「DB Browser for SQLite 使い方」などでご検索ください。