問題タブ [android-backup-service]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1908 参照

android - Googleドライブでアプリデータをバックアップする最良の方法は?

そのため、sqlite を使用して作成したアプリ (データ フォルダーに db がある) と、約 12 ~ 50 MB 相当のサーバーおよびユーザー生成コンテンツがあります。ユーザーがデバイスを移動したり、新しいデバイスを取得したりするときに、すべての変更とコンテンツが魔法のように自動的に取得されるように、ユーザーのためにこれを自動的にバックアップする必要があります。現在のすべてのデバイスが一緒に同期されている場合、それはボーナスですが、要件ではありません.

これを行う最善の方法は何ですか?

私はバックアップエージェントを見てきましたが、それは一部のデバイスでは半サポートされているようで、たとえばベライゾンデバイスからスプリントデバイスに移行すると、すべてが失われるように見えます (ただし、方法を誤解している可能性があります)。できます)。

Googleドライブスループレイサービスも検討してきましたが、appFolderにアクセスしてそこにすべてを移動/保存するだけのように聞こえるドキュメントにもかかわらず、実際には簡単な方法を見つけることができないようですこれを行う。手動でアップロードするすべてのファイルをループする必要がありますか? これが最善の解決策である場合はこれを行うことができますが、12 ~ 15 時間の作業を行う前に、それが私の最善の解決策であるかどうかをここで尋ねるのが最善であると考えました.

ご意見ありがとうございます。

TL;DR

ネットワークに依存せず、エンド ユーザーの Google アカウント以外に何も必要としない、最も単純なクラウド バックアップ ソリューションは何ですか?

0 投票する
1 に答える
711 参照

android - 多数のファイルで BackupAgentHelper がクラッシュする

バックアップが必要なユーザーによって生成された大量のファイルを含むアプリがあります。すべてのコンテンツは、データベース、設定、または 4 つのフォルダーのうちの 1 つに保存されます。FileBackupHelpers各フォルダー内のすべてのファイルを生成する単純なヘルパー関数を作成しました。ただし、onCreate()フレームワークコードを実行した後、FileBackupHelper解析するパスの量を窒息させ、アプリをクラッシュさせているようです。

バックアップ エージェントのコードは次のとおりです。

ログ出力は次のとおりです。

あなたが与えることができる助けを前もってありがとう!他に情報が必要な場合はお知らせください。

0 投票する
3 に答える
8506 参照

android - デフォルトの共有設定で使用されるファイル名は何ですか?

Android バックアップ サービスには、共有設定をバックアップするためのファイル名が必要です。

設定の作成中にファイル名が指定された場合、何を使用するかは明らかです

しかし、私はデフォルトの共有設定を使用しています:

PREFSに値として何を渡す必要がありSharedPreferencesBackupHelperますか?

0 投票する
1 に答える
176 参照

android - Android Backup Service がサポートされているかどうかを確認するには?

ドキュメントによると

データのバックアップは、すべての Android 搭載デバイスで利用できるとは限りません。

コードがサポートされているかどうかをチェックインするにはどうすればよいですか? 自分のデバイスで何が起こるかを確認しようとしましたが、呼び出しdataChangedてもログ メッセージ以外は何も表示されませんBackup pass but e=true p=false(メッセージの説明はこちら)。同じことが起こりadb shell bmgr backup my.package.nameます。サポートされていない場合は、アプリケーションのユーザーに通知したいと思います。

0 投票する
1 に答える
452 参照

android - バックアップ要求がない場合、Android は自動的にデータのバックアップを行いますか?

ローカル Sqlite データベースを使用する最初の Android アプリケーションを作成しています。エンドユーザーがアプリケーションを再インストールするたびに Android がデータベースを復元できるように、Google クラウドにデータベースのバックアップを実装したいと考えています。

私の理解として。データが変更されるたびに、開発者は「BackupManager.dataChanged()」を呼び出してバックアップを要求できるようにする必要があります。

私の質問は次のとおりです。データが変更されたときに開発者が「BackupManager.dataChanged()」を呼び出さないとどうなりますか? 開発者からのバックアップ要求がなくても、Android は自動的に/定期的にバックアップを行いますか?

ありがとう!

0 投票する
1 に答える
92 参照

windows-7 - Android、Windows 7、Windows 8.1、およびUbuntuuフォルダーを同じサーバーにバックアップします

この質問は、stackoverflow では一般的ではないことは承知していますが、私のバックアップ戦略の管理を喜んで手伝ってくれる人がいるかもしれません。職場の Android デバイス、Windows 8.1 タブレット、Windows 7 ノートブック、および ubuntu から特定のフォルダーをアップロードしたいと考えています。私が考え出したように、私にとって最良の戦略は次のとおりです。


Androidフォルダーは、充電のために電話を接続してから2時間後にバックアップする必要があります。

Windows 8.1 タブレットでも同じ条件: 充電のためにプラグを差し込んでから 2 時間後にフォルダをバックアップ

私のWindows 7ノートブックはバックアップする必要があります:再起動後毎回

ubuntuの同じ条件:再起動後に毎回バックアップ

特にWindowsやubuntuuで役立つアプリについては、これをさらに管理するためのすべてのアイデアに感謝しています。グーグルはまだ私をあまり助けませんでした。私の悪いドイツ語英語をよろしくお願いします。

0 投票する
2 に答える
278 参照

android - ユーザーがデバイスを再インストールまたは切り替えた場合にデータベースを適切にバックアップする方法 (Android)

私のアプリは学校の成績を追跡し、平均を計算し、これらすべてを SQLite データベースに保存します。ユーザーが再インストールする必要があるか、新しい電話を入手する必要がある場合、データを復元できるようにしたいと考えています。

ほとんどの開発者は、SD カードにバックアップするか、Google のAndroid Backup Serviceを使用してこれを行っているようです。どちらがより良い方法かはわかりません。シンプルだが信頼できるように復元したいと思います。これについてのコメントを歓迎します。

私が理解しようとしているのは、Google がデータベースを使用するBackupAgent代わりに拡張するように言っている理由です。BackupAgentHelper

ユーザーがアプリケーションを再インストールしたときに復元する SQLite データベースがある場合は、バックアップ操作中に適切なデータを読み取るカスタム BackupAgent を構築する必要があります。その後、テーブルを作成し、復元操作中にデータを挿入します。

データベースをファイルとしてバックアップしてから、そのファイルを復元できないのはなぜですか? データベースのバージョンが異なる場合、私SQLiteOpenHelperのクラスはすでにアップグレードを処理しています。ダウングレードで中止できると思います。

0 投票する
1 に答える
522 参照

android - SQLite データベースでの Android Backup Service の使用に関する質問

私のアプリは、すべてのユーザー データと設定を SQLite データベースに保存します。これは、ユーザーが新しい電話を入手したり、再インストールしたり、出荷時設定にリセットしたりした場合に保持したいと考えています。Android の Data Backup GuideとそのAndroid Backup Serviceを読みましたが、始める前にまだいくつか質問があります。

  1. アプリのインストール時または初回起動時にデータは復元されますか? つまり、メイン アクティビティのコードが呼び出される前に、ファイルは存在しますか?
  2. SQLiteOpenHelper クラスが既にアップグレードを処理している場合、古いデータベースの復元を処理するために他に何かしなければならないことはありますか? アプリが起動される前にデータベースが存在する場合、そうではないと思います。
  3. BackupManager に時間がかかるため、バックアップ時に同時実行の問題に直面することはありますか? ユーザーが新しいデータを入力して呼び出しdataChanged()た後、BackupManager が呼び出す前に同じことが再び発生した場合、onBackup()これらのデータの変更はどのように処理されますか? BackupManager はデータベースの最新バージョン (両方の変更を含む必要があります) を単純にバックアップしますか?
  4. SQLite データベースをバックアップ/復元しようとすると、どのような問題が発生しますか? 開発者が、あるデバイスのデータベースは別のデバイスのデータベースと互換性がない可能性があると言っているのを見てきました。FileBackupHelperを使用してデータベースを簡単にバックアップしたいと思います。少なくとも 1 人の開発者が、Write Ahead Logging を無効にすることで、少なくともいくつかの互換性の問題を解決したようです。このアプローチを採用した場合、どの程度の失敗率が予想されるでしょうか? 非常に高い場合は、プロセス中に CSV ファイルに変換して元に戻すことを検討する可能性があります。
  5. 復元に失敗した場合、それをキャッチしてユーザーに通知し、問題のあるデータのコピーをストレージに保存できますか? トラブルシューティングとユーザーへの通知のため。
  6. バックアップ操作は「スレッドセーフではありません」。扱い方を明確にする。 アンドロイド曰く、

バックアップ エージェントがアクティビティと同時にファイルの読み取りまたは書き込みを行わないようにするには、読み取りまたは書き込みを実行するたびに同期ステートメントを使用する必要があります。

  • これは、データベースへのすべての読み取り/書き込みをsynchronizedステートメント内に配置する必要があるということですか? つまり、アクティビティがデータベースからロードするすべての場所にこれを追加するか、情報を書き込む必要がありますか? それはたくさんの場所です。
  • それとも、バックアップコードのみが使用する必要があるということsynchronizedですか?

助けてくれてありがとう。私はこれを正しく行い、ユーザーが今年のクリスマスに新しい携帯電話を手に入れたときに満足してもらいたいだけです!

0 投票する
2 に答える
688 参照

android - BackupAgentHelper の onBackup() メソッドが呼び出されないのはなぜですか?

ドキュメントやその他の質問を読みましたが、何かが足りないと思います。私の BackupAgentは呼び出されていますが、コマンド ラインから呼び出しても呼び出さonCreateれません。方程式のどの部分が欠けていますか?onBackupadb bmgr backup <package>adb shell bmgr run

MyBackupAgent クラス:

私のマニフェストで:

数時間前にアプリを Android Backup Services に登録したばかりですが、待つ必要があるとは言われませんでした。私は何が欠けていますか?