ここのクリスチャンは言います:ユーザーがアップデートをインストールするとき、あなたのアプリケーションデータは残ります。
ただしpackage name
、以前のアプリのアップデートとして検出するには、同じである必要があります。
EboMikeは、Androidユーザーに、アプリの更新により古いアプリバージョンのデータが失われる可能性があることを警告していますか?言う:
率直に言って、アップグレードによってデータが失われることは容認できません。
編集:
通常、SharedPreferences(および他のユーザーデータ)は更新プロセス中に保持されますが、「不明な」問題が原因でデータが失われることがあり、制御できないと思います。したがって、SharedPreferencesが保持されると単純に信じることができます(ここを参照)。
したがって、アップグレードの進行中にユーザーのデータが消去されないようにする場合は、メインデータを外部ストレージ(SDカードや内部のリムーバブルではないストレージなどのリムーバブルストレージメディアにすることができます)に保存する必要があります。アプリのプライベート。または、少なくともユーザーがアップグレードする前にデータをバックアップできるように保管します。次に、(アップグレードされた)アプリの最初の実行時に、外部ストレージにバックアップファイルがあるかどうかを確認します。
アプリのアップグレードで何が必要/起こり得るかを知りたい場合は?、私はthis.Itのための任意の適切な説明が煩雑と相対されなかったAndroid Security
、Application signing
、copy protection
あなたが任意の上記のフィールドでアプリの状態を変更した場合、それは異なる結果を引き起こすことや、他のtopics.Iの平均値。
たとえばCHANGED COPY PROTECTION FROM ON to OFF OR OFF to ON
、アプリは更新されますが、共有設定がすべて失われ、ファイルへのアクセスが不可能になり、...。
ただし、条件に注意する必要がありますが、新しいアプリbeing considered
は以前のアプリの更新として発生します(変更できないものを参照)。
また、コードに注意する必要があります。データベースのデータが削除される可能性があります(SQLiteがプリロードされたアプリの更新を参照)。
しかし、最終的には、注意すれば、次のように言うことができます。
更新プロセスはapkファイル(およびその中にあるもの、たとえばドローアブルなど)を置き換えるだけで、データベース、共有設定、および実行時に生成されたその他のファイルを変更しません(おそらくこの場合、新しいアプリは前のアプリのUIDと等しいUID)。
詳細については、次のページをご覧ください。
助けて!?市場でアプリケーションを更新すると、保存されているSharedPreferencesが削除されます。
マーケットコピー防止は、更新後にファイルアクセスを完全に遮断します
誰かがアプリの更新プロセスを説明できますか?