2009-10-27 3 views
6

私の目標はContext#getCacheDir()が返すディレクトリに一時ファイルを格納することです。Androidのキャッシュディレクトリにファイルを保存する方法は?

/data/data/my.app/cache/somedir/foo.json 

私は、java.io apisを使用してそこにファイルを書き込むことができます。しかし、私はContext#MODE_PRIVATEを使用することができないので、そこにファイルのパーミッションを設定する方法がわかりません。

Context#openFileOutputおよびContext#openFileInputのfilenameパラメータは、パス区切り文字を含む入力を受け入れることができません。したがって、彼らは、ディレクトリに作成されたファイルのためにのみ有用です:

/data/data/my.app 

答えて

6

Androidの各アプリケーションは、デフォルトでは独自のユーザーアカウントで実行されるため、アプリで作成したファイルには他のアプリからアクセスできません。このページの上部にある箇条書きのポイント#3をチェックアウト:

http://developer.android.com/guide/topics/fundamentals.html

また、あなたのエミュレータ/デバイスでシェルを実行し、ls -lでの出力を見ることでこれを確認することができます。

5

しかし、私は コンテキスト#1 MODE_PRIVATEを使用することはできませんので、そこにあるファイルに 権限を設定するかどうかはわかりません。

AFAIKのように、デフォルトではプライベートにする必要があります。

関連する問題