@Override
 protected void onActivityResult(int requestCode, int resultCode, Intent data)
 {
  if(resultCode != RESULT_OK)
  {
   return;
  }
  switch(requestCode)
  {
     case CROP_FROM_CAMERA:
   {
    // 크롭이 된 이후의 이미지를 넘겨 받습니다. 이미지뷰에 이미지를 보여준다거나 부가적인 작업 이후에
    // 임시 파일을 삭제합니다.
    final Bundle extras = data.getExtras();
 
    if(extras != null)
    {
     Bitmap photo = extras.getParcelable("data");
     mPhotoImageView.setImageBitmap(photo);
     
    }
    
    // 임시 파일 삭제
    File f = new File(mImageCaptureUri.getPath());
    if(f.exists())
    {
     f.delete();
    }
 
    break;
    
   }
 
   case PICK_FROM_ALBUM:
   {
    // 이후의 처리가 카메라와 같으므로 일단  break없이 진행합니다.
    // 실제 코드에서는 좀더 합리적인 방법을 선택하시기 바랍니다.
    
    mImageCaptureUri = data.getData();
   }
   
   case PICK_FROM_CAMERA:
   {
    // 이미지를 가져온 이후의 리사이즈할 이미지 크기를 결정합니다.
    // 이후에 이미지 크롭 어플리케이션을 호출하게 됩니다.
 
    Intent intent = new Intent("com.android.camera.action.CROP");
    intent.setDataAndType(mImageCaptureUri, "image/*");
 
    intent.putExtra("outputX", 90);
    intent.putExtra("outputY", 90);
    intent.putExtra("aspectX", 1);
    intent.putExtra("aspectY", 1);
    intent.putExtra("scale", true);
    intent.putExtra("return-data", true);
    
    startActivityForResult(intent, CROP_FROM_CAMERA);
         
    break;
   }
  }
 }

위 소스는 설명에 써 있는 것과 같이 이미지를 크롭하고 크롭한 이미지를 이미지 뷰에 뿌려주는 것으로 이해하고 있습니다.

 

제가 하고 싶은 것은 크롭한 이미지를 sdcard에 저장하는 것입니다.

 

저장할 때 이름을 직접 지정하지 않고 자동으로 만들어져서 저장되는 방법을 알고 싶습니다.

 

인터넷에 있는 소스들을 해봤는데 실력이 부족해서 계속 오류가 나기에 이렇게 글을 올립니다.

 

그리고 임시파일 삭제(16~25줄)가 어떤 것을 의미하는지 궁금합니다.

 

 

 

추가로 카메라 같은 경우는 에뮬에서 동작이 되지 않는 것 같습니다.

 

그래서 핸드폰에 연결하여 실행하고 확인하는데 핸드폰도 컴퓨터와 연결이 되있으면 사진이 안찍힙니다.

 

때문에 로그캣을 볼 수 없는데 다른 분들은 어떠한 방법으로 하시는지 궁금합니다.     감사합니다.