----------------
|                     |
|                     |
|                     |
|                     |
________________
      사진촬영
    사진앨범보기

위와같이 구성을 하였는데요

사진촬영을 클릭하면
카메라로 사진을 찍고
sdcard에 저장을 시켰습니다.

사진앨범보기를 선택하면
에뮬에 잇는 gallery리로 접근을 합니다.

ㅁ(사진) ㅁ(사진) ㅁ(사진)
ㅁ          ㅁ          ㅁ

위와같이 겔러리 사진리스트들이 보입니다.

문제는 요기서
사진을 선택을 했을때.. 에뮬레이터 겔러리에서처럼 사진이 확대가 되야하는데
확대가 안되네요;;;

제 생각에는 겔러리로 넘겨주엇으면 겔러리 어플처럼 겔러리 기능을 사용하지 못하는것 같습니다 유.,유;;

제 어플에 어떤식으로 선택된 값에대한 처리를 해주어야 하는지 궁금합니다...

------------------------------ 로그캣 에러
 INFO/ActivityManager(52): Starting activity: Intent { act=android.intent.action.GET_CONTENT typ=image/* cmp=com.android.gallery/com.android.camera.ImageGallery }
: INFO/ActivityManager(52): Displayed activity com.android.gallery/com.android.camera.ImageGallery: 742 ms (total 742 ms)
: DEBUG/CameraService(31): stopPreview (pid 20743)
.: DEBUG/CameraService(31): stopPreview(), hardware stopped OK
.: DEBUG/dalvikvm(106): GC freed 179 objects / 7840 bytes in 89ms
.: WARN/KeyCharacterMap(12117): No keyboard for id 0
.: WARN/KeyCharacterMap(12117): Using default keymap: /system/usr/keychars/qwerty.kcm.bin
.: DEBUG/CameraService(31): CameraService::connect E (pid 20743, client 0xde38)
.: DEBUG/CameraService(31): CameraService::connect X (pid 20743, new client 0xde38) rejected. (old pid 20743, old client 0xdf80)
.: DEBUG/AndroidRuntime(20743): Shutting down VM
.: WARN/dalvikvm(20743): threadid=3: thread exiting with uncaught exception (group=0x4001b188)
.: ERROR/AndroidRuntime(20743): Uncaught handler: thread main exiting due to uncaught exception
.: ERROR/AndroidRuntime(20743): java.lang.RuntimeException: Fail to connect to camera service
.: ERROR/AndroidRuntime(20743):     at android.hardware.Camera.native_setup(Native Method)
.: ERROR/AndroidRuntime(20743):     at android.hardware.Camera.<init>(Camera.java:110)
.: ERROR/AndroidRuntime(20743):     at android.hardware.Camera.open(Camera.java:90)
.: ERROR/AndroidRuntime(20743):     at com.example.Preview.surfaceCreated(Preview.java:36)
.: ERROR/AndroidRuntime(20743):     at android.view.SurfaceView.updateWindow(SurfaceView.java:454)
: ERROR/AndroidRuntime(20743):     at android.view.SurfaceView.onWindowVisibilityChanged(SurfaceView.java:189)
: ERROR/AndroidRuntime(20743):     at android.view.View.dispatchWindowVisibilityChanged(View.java:3782)
: ERROR/AndroidRuntime(20743):     at android.view.ViewGroup.dispatchWindowVisibilityChanged(ViewGroup.java:692)
: ERROR/AndroidRuntime(20743):     at android.view.ViewGroup.dispatchWindowVisibilityChanged(ViewGroup.java:692)
: ERROR/AndroidRuntime(20743):     at android.view.ViewGroup.dispatchWindowVisibilityChanged(ViewGroup.java:692)
: ERROR/AndroidRuntime(20743):     at android.view.ViewGroup.dispatchWindowVisibilityChanged(ViewGroup.java:692)
: ERROR/AndroidRuntime(20743):     at android.view.ViewGroup.dispatchWindowVisibilityChanged(ViewGroup.java:692)
: ERROR/AndroidRuntime(20743):     at android.view.ViewRoot.performTraversals(ViewRoot.java:706)
: ERROR/AndroidRuntime(20743):     at android.view.ViewRoot.handleMessage(ViewRoot.java:1633)
: ERROR/AndroidRuntime(20743):     at android.os.Handler.dispatchMessage(Handler.java:99)
 ERROR/AndroidRuntime(20743):     at android.os.Looper.loop(Looper.java:123)
: ERROR/AndroidRuntime(20743):     at android.app.ActivityThread.main(ActivityThread.java:4363)
: ERROR/AndroidRuntime(20743):     at java.lang.reflect.Method.invokeNative(Native Method)
: ERROR/AndroidRuntime(20743):     at java.lang.reflect.Method.invoke(Method.java:521)
: ERROR/AndroidRuntime(20743):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)
: ERROR/AndroidRuntime(20743):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
 ERROR/AndroidRuntime(20743):     at dalvik.system.NativeStart.main(Native Method)
---------------------------------------------------------------------------------------------------------------

요건 버튼 눌럿을시 겔러리로 보내는 엑션지정한 저의 소스입니다

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 );   
            }
        });
--------------------------------------------------------------------
^^;;;
또 이해가 안가는게
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();
        }
    }
이렇게 forResult로 인텐트 넘겨줬으니깐 다시 엑티비티 복귀할때
이런식으로 구현한다면 이미지 선택된거를 보여줄수있다는데요...
이렇게 된다면
------------
|               |
|   프리뷰   |
|               |
____________
    사진촬영
  사진앨범
----------------------------------- 요기서 받아온값을 어떤 이미지 뷰라던지 그곳에다 넣어야할것 같은
느낌은 오는데요.. 참 헷갈리네요;;; 아구야..

현재 제카메라 구현어플은

샘플카메라.java
프리뷰.java
이렇게만 있구요
layout은 main.xml 이렇게만 잇습니다.
-------------------------------------------------------------------

그리고 궁금한게 또 있는데요..

지금 저의 메인 엑티비티에서
에뮬에 등록된 겔러리에다가 인텐트넘겨줘서
에뮬에서 이용하는 갤러리를 이용하잖아요
근데 어떻게 갤러리 에뮬에잇는 선택된 이미지값을 알수가 있는건가요??
제가 제어하는 엑티비티가 아닌데 말이죠??
근데 이렇게 성공하셨다는 글을 봐서 저도 따라해봤습니다만... 잘 안되네요 유.,유

재야의 숨은 고수님들 조언을 부탁드립니다... ㅠㅠ
profile