카메라로 찍고 웹서버로 전송하는 방식을 만들어 내려는데.
1. 기본카메라앱을 사용하는 방식.
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(android.provider.MediaStore.EXTRA_OUTPUT, mImageCaptureUri);
startActivityForResult(intent, PICK_FROM_CAMERA);
이하생략
2. 카메라액티비티를 만들어내는 방식
// JPEG 이미지를 생성 후 호출
private Camera.PictureCallback mPicutureListener =
new Camera.PictureCallback() {
public void onPictureTaken(byte[] data, Camera camera) {
Log.i(TAG, "Picture Taken");
if (data != null) {
Log.i(TAG, "JPEG Picture Taken");
FMScameraActivity.this.data=data;
Bitmap bitmap =
BitmapFactory.decodeByteArray(data,0,data.length,null);
mImage.setImageBitmap(bitmap);
이하생략
이둘중한개를 이용하려고 하는데 어떤식이 좋은지도 궁금하고.
찍은것을 바로
new doFileUpTask().execute("http://localhost:8080/UploadImg");
이런식으로 전송을 할려고 하는데.
파일을 찍음과 동시에(이미지를 앨범 저장안하고) 전송을 할려고 하니
찍은 데이터를 byte[] buffer 에 저장시키고. 전송.
Outofmemory 에러가 뜨는것같네요.
뭔가 접근 방식이 잘못 된거 같기도 하고. 이런식으로 개발 하려면 어떤 소스를 참조해야할지요.
안된다면 사진을 찍고. 앨범에 저장한후에. 앨범에서 pick 한것을 URI 로 접근해서
inputStream 으로 읽어 들이면서 outputstream 으로 버퍼에쓰며 write 하는 방식이 맞는건가요??