2012-03-11 9 views
0

マーケットからのアップデート後、デバイスのストレージに保存されているファイルがアプリに失われていることに気付きました。私はopenFileOutput()を使用して、重要なファイルを格納するディレクトリをフェッチします。具体的にはhereです。私は、これらのファイルがアップデートの間に保存されることを期待していますが、少なくともFroyoの場合はそうではないようです。この動作が正しい場合、更新後に削除されないようにファイルを保存する方法を教えてください。Androidアプリのアップデート間でファイルを保存する

答えて

2

マーケットからのアップデート後、私のアプリがデバイスストレージに保存されているファイルを失っていることに気付きました。

すべてのファイルはアップグレード時に保存されます。ユーザーが

  • ユーザーはあなたがandroid:sharedUserIdを変更する場合は、あなたのファイルが削除されていない、
  • また、[設定]の[データ消去]オプションを使用してアプリケーションをアンインストールし

    • 、彼ら:ファイルがあれば削除されます以前のユーザーIDによって所有されます。つまり、ユーザーがアンインストールして再インストールするまで、アプリは永久に台無しになります。

      私は、これらのファイルは、彼らがしているアップデート

      の間に保持されることを期待したいです。

    +0

    この問題をさらに調査する必要があります。私のアプリは、ファイルが起動するたびに正しく読み込まれますが、更新するとこのデータは失われているようです。私はあなたの返信のおかげで、それを確認するときにあなたの答えを受け入れるよ! – hgm

    +0

    私はちょうど何が起こったのか気づいた。問題は、ProguardでSerializableクラスを無視することを忘れてしまったため、読み込みに失敗しました。Proguardが名前を変更しました。詳細はこちら[ここ](http://stackoverflow.com/questions/6014806/android-classnotfoundexception-when-passing-serializable-object-to-activity) – hgm

    +0

    @hgm:うん、 'Serializable'はそのような問題を起こしやすい。個人的には、私は何でも*しかし* Serializableです。 Mark I Eyeballが簡単にデバッグできないような壊れやすいフォーマットになってしまうのはなぜですか?私はむしろSQLite、JSON、またはXMLに保存したいと思います。 – CommonsWare

    関連する問題