Android 개발 Tip - 1. 갤러리에서 Image Select

Mobile Programming/Android Tip 2010. 10. 13. 00:38

어쩐지 이 카테고리는 제 편의에 따라(제 프로젝트를 위하야 ㅋㅋㅋ) 아무 제한없이 웹에서 긁어다 모으게 될 거 같네요 ㅠ ;;;
이왕이면 전부 직접 예제를 짜고 설명을 드려야겠지만!
지금 저도 개발환경이 구축되지 않은 집이기 때문에!
원래 집에선 쉬는 주의인데, 워낙 발등에 불이 떨어져서 어떻게 짜야할지 웹서핑을하다가 긁어낸 팁입니다.

한번에 긁은거 다 넣으면 저도 귀찮, 알고싶은건 되게 쪼끄만한건데 긴소스에서 그 쪼끄만한거 찾아야 하는 여러분도 귀찮.
그렇죠 ?ㅋㅋㅋ

이 포스팅은 그냥 안드로이드에 내장된 갤러리에서 , Image 가져오는 기능을 하는 인텐트를 호출하는 , 아주 기본적인 팁!

유명한 안드로이드 개발 커뮤니티, androidPub에서 발췌한 소스임을 알려드립니다~!

buttonGallery = (Button) findViewById(R.id.buttonGallery);
        buttonGallery.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                Intent intent = new Intent();
                intent.setAction( Intent.ACTION_GET_CONTENT ); 
                intent.setType( "image/*" );
                startActivityForResult( intent, REQ_IMAGE_SELECT );   
            }
        });


확인은 못해봤습니다만.
소스만 보면 대강 buttonGallery버튼이 눌리면 인텐트를 만들고 데이터를 받아오는 액션이므로 Action_Get_Content를 지정,
특정형식의 이미지가 아닌 모든 형식의 이미지를 불러 올 것이므로  image/* ,
리턴값을 받아올수 있도록 forResult로 실행합니다.
여기서 두번째 인자 REQ_IMAGE_SELECT 는 static final로 선언한 (C에서 #Define) 어떤 액티비티가 result를 보냈는지 구별하기위한 인자!


protected void onActivityResult(int requestCode, int resultCode, Intent data){
        super.onActivityResult(requestCode, resultCode, data);
        try {
            Uri selPhotoUri = data.getData();
            Bitmap selPhoto = Images.Media.getBitmap( getContentResolver(), selPhotoUri );
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }




요 함수가 앞서 소스에서 결과가 나온 값 받아다가, Uri 얻고, 비트맵을 얻어오는 작업을 한다.

근데 .. 하이라이트 어떻게 거나요 여러분..소스가 참.. 누가 좀 알려주세요 ㅠㅠ