Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to store files in Android's cache directory?

My goal is store temporary files in the directory returned by Context#getCacheDir().

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

I presume I can just use java.io apis to write files there. But I'm not sure how to set permissions on files there because I would not be able to use Context#MODE_PRIVATE.

The filename parameter to Context#openFileOutput and Context#openFileInput cannot accept input with path delimiters. Thus they are only useful for files created in directory:

/data/data/my.app
like image 900
Jacques René Mesrine Avatar asked Oct 27 '09 03:10

Jacques René Mesrine


1 Answers

Each application in Android runs under it's own user account by default, so files created by your app would not be accessible from any other app. Check out bullet point #3 at the top of this page:

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

You could also verify this by running a shell in your emulator/device and looking at the output of ls -l.

like image 186
Kevin Tighe Avatar answered Sep 22 '22 11:09

Kevin Tighe