안드로이드 개발 질문/답변
(글 수 45,052)
현재 DB 연동해서 카메라로 찍은 이미지들을 db로 보내주고 싶답니다.
ArrayList에 카메라로 찍은 bitmap 이미지들을 추가해놨는데요.
이미지를 byte[] 타입으로 받고있기 때문에
bitmapList (ArrayList)에 넣어둔 것들을 byte[] 에 넣어주고 싶은게
제 목적이랍니다 .
그래서 찍은 개수만큼 for문 돌리면서
bitmapList.get(i) 로 하나씩 ImageView에 넣어준다음에
ImageView를 byte[] 로 바꿔보고싶은데
여기서 막히네요 ㅠㅠ
방법이 틀린거같기두하구요..
해결책좀 찾아주시면 감사하겠습니다.
기초가 많이 부족해서 자바책 첨부터 다시 보고있는데
도와주세요ㅜㅜ
List<ImageVIew> bitmapList = new ArrayList<ImageView>();
bitmap = BitmapFactory.decodeFile(Environment.getExternalStorageDirectory()+"/image.jpg", options);
ImageView d = new ImageView(this);
d.setImageBitmap(bitmap);
bitmapList.add(d);
for(int i =0; i< bitmapList.size();i++){
d = bitmapList.get(i);
}




ImageView --> Bitmap 까지는 아시죠?
그 다음엔...아래 처럼
public static byte[] bitmapToByteArray(Bitmap bitmap) {
if (bitmap == null)
return null;
ByteArrayOutputStream stream = new ByteArrayOutputStream();
bitmap.compress(CompressFormat.JPEG, 100, stream);
byte[] byteArray = stream.toByteArray();
JLog.d("JJY", "bitmatToByteArray size=" + byteArray.length);
return byteArray;
}
public static Bitmap byteArrayToBitmap(byte[] bytes) {
if (bytes.length < 1)
return null;
Bitmap bitmap = BitmapFactory.decodeByteArray(bytes, 0, bytes.length);
return bitmap;
}