마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

갤러리에서 가져온 이미지를 다른 activity에 인텐트를 이용해서 전달하는 방법좀 도와주세요.

0 추천

안녕하세요.

일단 제가 안드로이드 앱을 처음으로 만들어보는 초짜입니다.

제가 지금 하고자 하는 것은 버튼을 클릭햇을 때 다이얼로그가 떠서 camera를 누르면 카메라로 사진을 찍어서 찍은 사진을 다른 activity화면의 이미지 뷰에 나타나게 하고싶은데요. 많이 검색을 해봐서 uri로 이미지파일을 넘기라는 식의 아이디어를 얻었는데 그게 생각만큼 잘 안되네요 ㅠ

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)
    {
     Intent intent= new Intent(this,WriteActivity.class);
     intent.putExtras(extras);
     startActivity(intent);
     //
     //
    }
 
    // 임시 파일 삭제
    File f = new File(mImageCaptureUri.getPath());
    if(f.exists())
    {
     f.delete();
    }
 
    break;
   }

한부분만 가져와봤는데요..

다른 case문에서 startActivityForResult를 통해 uri를 통해 저장된 이미지를 전달해서 위의 코드 부분으로 넘긴다라고 이해를했거든요 그래서 나름 생각해보고 수정해본게 위에서 Bundle extras=data.getData() 부터에요..

Intent intent= new Intent(this,WriteActivity.class);
intent.putExtras(extras);
startActivity(intent);

요렇게 extras를 intent에 넣어서 WriteActivity에 전달한다라는 제생각이...잘못된건가요?ㅠstring 전달하는 예제보고 따라했거든요..

그리고 전달 받는 activity안에서

private ImageView mPhotoImageView;
        mPhotoImageView=(ImageView)findViewById(R.id.image);
        Intent intent= getIntent();
        Bundle getImage=intent.getExtras();
        Bitmap photo = getImage.getParcelable("data");
        mPhotoImageView.setImageBitmap(photo);

이런식으로 받아와서 imageView에 뿌린다라고 생각햇는데...결과는...안되네용 ㅠ

첫번째 질문인데 질문자체가 난잡해서 이해하실지 모르겠네요..아무튼 답변 기다려봅니다ㅠ

MJS (290 포인트) 님이 2013년 5월 28일 질문

1개의 답변

0 추천
Activity간  Bitmap 전송은 가능합니다만

그다지 권할만한 방법은 아니네요...

그냥 파일 경로를 전달하고 전달 받을

Activity에서 파일을 불러오는게 좋다고 생각합니다.
비뢰광 (7,400 포인트) 님이 2013년 5월 29일 답변
그럼 확실한 코드를 제시해주삼 훈수질 하지말고
...