DX・デジタルトランスフォーメーション

AppStoreにて無料公開中! ”システム手帳”で検索! - AppStoreへ iPad版 - iPhone版

ブロックチェーン・暗号技術 | android | iOS | Web | アプリの著作権 | 日本のなりたち | 禅・大乗仏教 | 新しい社会

androidで写真などのファイル保存場所は3種類ある

iOSでは、ファイルの置き場所は、アプリサンドボックス内とアプリグループ用とiCloud用と3種類ある。

androidの場合も3種類あり、置き場所によってアプリ間で共有できたりできなかったりする。

androidで写真などのファイル保存場所は次の3種類ある。

<注意点>

・保存場所指定は ContentResolver で insert するときの

MediaStore.Images.Media.EXTERNAL_CONTENT_URI 外部ストレージ

MediaStore.Images.Media.INTERNAL_CONTENT_URI 内部ストレージ

と合わせる必要がある。

<使用例>


Uri uri = cr.insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, cv);

 

1)外部ストレージ パブリックファイル

・フォトなどの他のアプリとファイルを共有できる。


getExternalStoragePublicDirectory()

x (deprecated) getExternalStorageDirectory()

<使用例>


File file = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES), filename);

<パス>

/storage/sdcard0/

2)外部ストレージ プライベートファイル

・フォトなどの他のアプリとファイルを共有できる。

・ファイルは、アプリ・アンインストールと同時に削除される。


getExternalFilesDir()

<使用例>


File file = new File(context.getExternalFilesDir(Environment.DIRECTORY_PICTURES), filename);

<パス>

/storage/sdcard0/Android/data/(package name)/files/

3)内部ストレージ

・アプリ用の内部ディレクトリ(iOSのアプリバンドルと同じ)

・フォトなどの他のアプリとファイルを共有できない。

・アプリ・アンインストールと同時に削除される。


getFilesDir()

<使用例>


File file = new File(context.getFilesDir(), filename);

<パス>

/data/data/(package name)/files/

・番外編

・システムはストレージが不足し始めた場合、警告なしでキャッシュ ファイルを削除する。


getCacheDir()

<使用例>


String fileName = Uri.parse(url).getLastPathSegment();
file = File.createTempFile(filename, null, context.getCacheDir());

String state = Environment.getExternalStorageState();
if (Environment.MEDIA_MOUNTED.equals(state)) {
}

・空き領域チェック


getFreeSpace() または getTotalSpace()

2022年9月
    123
45678910
11121314151617
18192021222324
252627282930 
android
iOS
web
アプリの著作権
ブロックチェーン/暗号技術
新しい社会
禅・大乗仏教
日本のなりたち

AppStoreにて無料公開中! ”システム手帳”で検索! - AppStoreへ iPad版 - iPhone版
デジタルトランスフォーメーションで新しい生活を提案!