[Android] 外部ストレージに画像を保存・読出しをする

Android7

画像を外部ストレージ領域に保存して読出してみます。emulator Nexus 6P のファイル構造から/storage/emulated/0/DCIM/Camera/以下に置くとギャラリーが写真としてリストップしてくれます。


保存と読出し

Galleryに保存を確認
Android Studio 2.2.2
Android 7.1.1

 

sponsored link

EXTERNAL-STORAGE

 
文字列をテキストファイルとして外部ストレージに保存しましたが、外部ストレージを使うのはむしろ画像が多いのではないでしょうか。
テキストファイルはアプリ内のメモリに保存できますが、画像をたくさん入れるのは限界があります。
 
画像はassetsに置いてそこからInputStreamで取り込み、FileOutputStreamでバッファリングして保存していきます。
 
assetsにsample_image.jpg画像を置きます。assetsについてはこちらを参考にしてください。
 
相変わらずですが、dangerous permissionなので前半部分はpermission checkです
MainActivity.java

 
読み取り・書き込みエラーはログで確認する程度ですので、もっと色々手当は必要です。
activity_main.xml

 
マニフェストへのパーミッション記述も必要です。
AndroidManifest.xml

 
assetから画像を取り込みましたが、ネットから落としたり、画像を何らかの形で動的に取得した場合は
一旦内部メモリに落とし込んだ方が扱いやすいかもしれません。