프로필 수정시 사진을 서버로 전송합니다.
DB에 사진은 잘 저장되지만 다시 이미지를 가져 올때 out of memory 라는 오류가 나옵니다.
아마 이미지 크기 때문에 그런거 같습니다.그래서 기기에서 사진을 가져와 서버로 보낼때.
이미지 크기를 작게 만들어서 보내고 싶습니다.
검색해보니 BitmapFactory로 하면 된다고 하는데 제가 이미지가져 올때는 Uri로 가져 왔습니다. Bitmap으로 가져온게 아니구여
코딩 첨부합니다.
Uri selPhotoUri = data.getData();
//Bitmap selPhoto = Images.Media.getBitmap(getContentResolver(), selPhotoUri);
//URI uri = new URI(selPhotoUri.toString());
String uriProtocol = selPhotoUri.toString().substring(0, selPhotoUri.toString().indexOf(":"));
String absolutePath = "";
if (uriProtocol.toLowerCase().equals("content")) {
Cursor c = getContentResolver().query(Uri.parse(selPhotoUri.toString()), null,null,null,null);
c.moveToNext();
absolutePath = c.getString(c.getColumnIndex(MediaStore.MediaColumns.DATA));
} else if (uriProtocol.toLowerCase().equals("file")) {
absolutePath = selPhotoUri.toString().substring(7);
}
//  AssetFileDescriptor adf = getContentResolver().openAssetFileDescriptor(selPhotoUri, "r");
File file = new File(absolutePath);
FileInputStream fis = new FileInputStream(file);
ByteArrayOutputStream bos = new ByteArrayOutputStream();
byte[] b = new byte[1024];
int bytesRead;
while ((bytesRead = fis.read(b)) != -1) {
   bos.write(b, 0, bytesRead);
}
byte[] bytes = bos.toByteArray();
mChangedPictureName = "profile_" 
+ shrdPref.getString("user_idx", "") 
+ file.getName().substring(file.getName().lastIndexOf("."));
FileOutputStream fos = openFileOutput(mChangedPictureName, 0);
fos.write(bytes);
fos.close();
하루종일 해도 않되네요 ㅜㅜ 
좀 바주세요.