android端末のアプリの内部ストレージに、SDカードから読み込んだ画像ファイルを保存し、保存した画像ファイルを読み込み、Gridで表示しようとしています。
画像ファイルを保存するところまでは正常に動作したのですが、読み込みがうまくいきません。
Uri uri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI; //SDカード //queryメソッドでカーソルを取得 Cursor cursor = getContentResolver().query(uri, null, null, null, null); ContentResolver cr = getContentResolver(); //カーソルの一番目に移動 cursor.moveToFirst(); for (int i = 0; i < cursor.getCount(); i++) { //画像ID取得 long id = cursor.getLong(cursor.getColumnIndexOrThrow("_id")); //画像パスを取得 imagePaths.add(cursor.getString(1));//引数1はパス、3は拡張子つきファイル名 imageNames.add(cursor.getString(3)); //内部ストレージに保存 try { BufferedOutputStream outStream = new BufferedOutputStream(openFileOutput(imageNames.get(i),MODE_PRIVATE)); }catch(FileNotFoundException e){ } //内部ストレージ内のファイル読み込み Bitmap bitmap = null; try{ BufferedInputStream inputStream = new BufferedInputStream(openFileInput(imageNames.get(i))); bitmap = BitmapFactory.decodeStream(inputStream); }catch(Exception e){ } lstBitmap.add(bitmap);
上記コードの、bitmap = BitmapFactory.decodeStream(inputStream);
ここで、bitmapがnullになってしまいます。
内部ストレージの中を確認したところ、画像ファイルが保存されていたため、うまくBitmapに変換できていないようです。
お分かりの方がいらっしゃいましたらご教授いただければ幸いです。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。