2011-01-29 5 views
1

Androidデバイスのファイル(データベースではない)にデータを保存します。現在、Context.getFileDir()を親ディレクトリとして使用しています。しかし、ディレクトリを削除するアプリケーションを更新するとき。ユーザーがアプリケーションを更新するときに、問題が発生しないContextから使用できるディレクトリはありますか?それはSDカードでなければならないのですか?それはいつも全携帯電話で一般に利用できるわけではないからですか?更新またはアンインストール時に削除されないファイルをAndroidに保存する

答えて

-2

アンインストール時に削除しないファイルにしたい場合は、アンインストールするとすべてのデータが削除されるため、アンインストールできません。


あなたがコードオユの更新時にファイルを保存したい場合は、getFileDir(上のファイルを作成することにより、使用しているとTHT同じ方法を使用できますが);ちょうどあなたがあれば、ファイルTHTを作成B4たびにチェックアウトする必要がありファイルがすでに存在しているかどうか

ファイルexixts thrが再作成する必要がない場合、それが作成されていない場合は作成します。


私はあなたが正しく作成したファイルをすべて完了したと仮定しています。


次のコードを作成するだけです。


if(f.exists()) //Where f is your file 
{ 
    //Don't create the file, it already exists 
} 
else{ 
    //Create the file, since it didn't exist 
} 
+3

ああ私の神様、これは本当に受け入れられた答えですか? –

6

しかし、あなたが直接削除されるアプリを更新するとき。

いいえ、それはしていません。

Contextから使用できるディレクトリがありますか?ユーザーがアプリケーションを更新するときに、問題が発生することはありませんか?

ユーザーがアプリケーションを更新するときにファイルが消えてしまうことはありません。

オンボードフラッシュ内のすべてのファイルは、ユーザーがアプリをアンインストールすると「ハッキングします」。

これはSDカードでなければならないのですが、これは一般にすべての携帯電話で一般に利用できるわけではないためですか?

外部ストレージは、Androidマーケットを搭載したすべてのAndroid搭載端末で「一般に利用可能」です。特定の状況では使用できない可能性があります(ホストPCにマウントされている、外部ストレージが取り外し可能で、実際には削除されたなど)。

+0

この回答は基本的には正しいものであり、Android *の仕組みを反映していますが、実際には、プライベートストレージと一般にアクセス可能な「外部」ストレージの両方でデータを消去するようなデバイスもあります"オプティマイザ"アプリ。特定のアプリをインストールしているユーザーや、メーカーが「ジャンククリーナー」アプリをインストールしていることが影響を受ける可能性のあるもの。 –