0

Androidで安全なコピーカット操作を行う方法を知っていますか?

ファイルマネージャーを作りたいです。FileReader / Writerでそれらを行うことはできますが、安全ではないため(アプリがクラッシュした場合)、これを行うための別の安全な方法が必要です。

4

1 に答える 1

0

おそらく、フェイルセーフな操作の順序を設計する必要があります。たとえば(これを構成するだけで、完全に検証されていません):

  1. 永続的なワークリストファイル(/共有設定など)に何をしようとしているのかを記録します
  2. ファイルをコピーする
  3. コピーが完了していることを確認します
  4. その後、オリジナルを削除します
  5. ワークリストのレコードをクリーンアップします

UIスレッドで作業を行うべきではありません。時間がかかる可能性のある巨大なファイル(または多数のファイル)の場合を処理するために、サービスでそれを行うことを検討することをお勧めします。

また、場合によってはFile.renameTo()メソッドを使用できるかどうかを検討することもできます。これには、ソースと宛先が同じパーティション(つまり、両方とも外部ストレージ)にある必要があります。また、宛先ディレクトリが存在することを確認する必要があります。

また、選択したオブジェクトがファイルではなくディレクトリである場合に何をするかについても考えてみてください...

于 2012-06-24T04:35:28.923 に答える