外部ストレージ内の画像ファイルを内部ストレージ内に保存しようとしています。
以下、コード。
Uri uri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI; //SDカード //queryメソッドでカーソルを取得 Cursor cursor = getContentResolver().query(uri, null, null, null, null); ContentResolver cr = getContentResolver(); // ArrayList<Bitmap> lstBitmap = new ArrayList<Bitmap>(); //カーソルの一番目に移動 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)); Bitmap bmp = BitmapFactory.decodeFile(imageNames.get(i)); BufferedOutputStream outStream = null; //内部ストレージに保存 try { outStream = new BufferedOutputStream(openFileOutput(imageNames.get(i),MODE_PRIVATE)); bmp.compress(Bitmap.CompressFormat.JPEG,100,outStream); }catch(FileNotFoundException e){ }
}
bmp.compress(Bitmap.CompressFormat.JPEG,100,outStream);
のところでおちてしまいます。
お分かりの方がいらっしゃいましたらご教授いただければ幸いです。
あなたの回答
tips
プレビュー