2013-07-29 3 views
0

내장 된 카메라 응용 프로그램을 사용하여 사진을 찍어 ImageView를 통해 보려고합니다.안드로이드 : 가로로 사진을 찍을 때 오류가 발생했습니다.

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_photo); 

    addButtonListeners(); 
    startCamera(); 
} 

private void startCamera() { 
    Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 
    startActivityForResult(intent, PHOTO_TAKEN); 
} 

    protected void onActivityResult(int requestCode, int resultCode, 
     Intent intent) { 
    if (requestCode == PHOTO_TAKEN) { 

     Bundle extras = intent.getExtras(); 
     photo = (Bitmap) extras.get("data"); 

     if (photo != null) { 
      ImageView image = (ImageView) findViewById(R.id.image_background); 
      image.setImageBitmap(photo); 
     } else { 
      Toast.makeText(this, R.string.unable_to_read_photo, Toast.LENGTH_LONG) 
        .show(); 
     } 
    } 
} 

이 코드는 내가 나누기 풍경 사진, 아이디어를 취할 때 왜 또는 어떻게이 문제를 해결하기 위해, 세로 위치에 잘 전화를 작품 잡고 언제?

+1

무슨 뜻입니까? logcat 콘솔에서 어떤 오류가 발생합니까? – Suji

+0

"플랫폼 독립적 인 Java 및 Android"에 오신 것을 환영합니다. 코드가 XXX 번째 기기에서 작동하고 +1에서 작동하지 않을 것입니다. 몇 번 말할 지 : 오디오 및 비디오는 원시 모드에서 처리되어야하며 문서에 관계없이 장치에 따라 다릅니다. –

+0

안녕하세요, 무엇이 고장 났으며 어떻게 고장 났습니까? 'LogCat' 출력을 붙여 넣으십시오 .. – g00dy

답변

0

질문에 대한 답변을 충분히 자세히 정의하지는 않았지만 내 추측은 Shani Goriwal과 같을 것입니다.

구성 변경 이벤트와 관련된 문제는 가로 방향에서 세로 방향으로 변경 될 때마다 발생합니다.

시도 앱 다음 줄의 AndroidManifest를 추가 할 : 안드로이드 : configChanges = "오리엔테이션 | 화면 크기"

(자세한 내용 : http://developer.android.com/guide/topics/resources/runtime-changes.html를)

0

내가 적절하게 사용하는 방법을 설명하는 튜토리얼을 발견 내장 카메라. 다음은 link입니다.

나는 안드로이드에 관해서는 새로운 것이지만, 내가 읽었던 것은 디스플레이가 회전 할 때마다 일종의 새로운 인스턴스를 생성한다. 그래서 당신은 회전의 인스턴스를 저장해야하고 이것은 다음 코드로 수행됩니다 : 당신이 링크를 클릭하면 카메라 사진을 촬영 한 후, NullPointerException가 방지 총알 번호 (11) 로 이동한다

/** 
* Here we store the file url as it will be null after returning from camera 
* app 
*/ 
@Override 
protected void onSaveInstanceState(Bundle outState) { 
    super.onSaveInstanceState(outState); 

// save file url in bundle as it will be null on scren orientation 
// changes 
outState.putParcelable("file_uri", fileUri); 
} 

/* 
* Here we restore the fileUri again 
*/ 
@Override 
protected void onRestoreInstanceState(Bundle savedInstanceState) { 
    super.onRestoreInstanceState(savedInstanceState); 

    // get the file url 
    fileUri = savedInstanceState.getParcelable("file_uri"); 
} 

. 진정한 주인공은 Ravi Tamada가 카메라 사용법에 대한 훌륭한 자습서를 작성했습니다. 전체 자습서를 읽는 것이 좋습니다.

다시 이번에는 새 것이므로 여기에 쓴 내용에 대한 수정 사항이 있으면 수정하십시오.

관련 문제