株式会社パーソンリンクアドベントカレンダー14日目です!🎉
本日12/14は、南極の日だそうです。
1911(明治44)年のこの日、ノルウェーの探検家・アムンゼンと4人の隊員が人類で初めて南極点に到達した。
よろしくお願いします。
はじめに
Anroidアプリでファイルや画像を保存する時に、
保存ディレクトリを取得することがあるのですが、どこに保存すれば良いのか、どんな違いがあるのか、すごくややこしいので簡潔にまとめます。
その前に
Androidはメジャーバージョンが年に1回上がるらしいです。
Android9.0からAndroid10.0へ みたいな
バージョンが上がると非推奨になるメソッドや処理が当然ながら出てきますが、
今回は非推奨になっているものも含んで紹介します。
スマホ業界は、プライバシーを守るため、セキュリティの向上のために、バージョンを上げて対応していきますが、アプリ開発者はその対応に必死です。
→場合によってはこれに対応しないとリリースできないよーってなるみたいです。
内部ストレージ系
端末ストレージに保存する内部ストレージ系
Android11時点までの内容になっています
(最新はAndroid12がリリースされています)
名称 | ディレクトリ取得メソッド | アプリ削除時に消える? | 非推奨? |
---|---|---|---|
内部データ領域 | getFilesDir | yes | no |
内部キャッシュ領域 | getCacheDir | yes | no |
外部ストレージ系
Android端末で外部って言うとSDカードなんかをイメージしますが、
必ずしも外部ストレージ=SDカードではないみたいです。
名称 | ディレクトリ取得メソッド | アプリ削除時に消える? | 非推奨? |
---|---|---|---|
外部データ領域 | getExternalFilesDir | yes | no |
外部キャッシュ領域 | getExternalCacheDir | yes | no |
外部公開領域 | getExternalStorageDirectory | no | yes |
外部公開共有領域 | getExternalStoragePublicDirectory | no | yes |
最後に
アプリが消えても、データは残して欲しいという事で、
過去のアプリだとgetExternalStorageDirectoryを使ってるアプリなんかが結構あったみたいですが、非推奨になった為、データ保存によく使われるようになったのは、
- getExternalFilesDir
- MediaStore API
- 担当しているプロジェクトでは、画像データでアプリが消えても残して欲しいという事でこちらを使用しました。 - Strage Access Framework (SAF)
などみたいです。
Android 対象範囲別ストレージでググるとこの辺りが出てきます。
Android(java)は日本語記事が少なく調査が大変ですよね。
最後まで読んで頂き、ありがとうございました。