【Android】SharedPreference、CacheDirのデフォルトディレクトリパス


 

Android SharedPreference、CacheDirのディフォルトのディレクトリの場所

 

自分用メモ
 
 
SharedPreferenceのデフォルトのディレクトリパスは
SharedPreferences sharedPreference = PreferenceManager.getDefaultSharedPreferences(context);
こんな感じで所得できる。
そのディレクトリパスは、
/data/data/<パッケージ名>/shared_prefs/<パッケージ名>_preferences.xml
となる。
 
 
一時ファイルを生成するためのcreateTempFileというメソッドがある。
キャッシュしておきたい情報などの維持に利用できる。ただし内部ストレージ状態によって削除されることもある。
 
キャッシュファイルのデフォルトのディレクトリパスは
File cacheDir = getCacheDir();
こんな感じで取得できる。
そのディレクトリパスは、
/data/data/<パッケージ名>/cache/
となる。
 
 
 
Android 4.2以降、マルチユーザー対応により、内部ストレージの場所は/data/user/<パッケージ名>/filesフォルダになっているため、上記記載読み替え必要。
 
上記メソッドで各ディレクトリパスを取得してくれるので実際のパスを気にすることもないけど、対象ファイルを直接確認したい時などのための自分メモでした。
 
 

補足

アプリ専用フォルダにアクセスするためのメソッド
openFileOutput / openFileInput
このメソッドを利用することで、内部ストレージの物理的な位置を意識することなくファイルにアクセスできる。
 
 
 

参考

https://qiita.com/ochim/items/dc4d77d478e87c1449ad
http://computerexpert.web.fc2.com/android/recipe10-4.html
http://blog.lciel.jp/blog/2014/02/08/android-about-storage/