Android 개발 사진 기능 실례 상세 설명

안 드 로 이 드 사진
안 드 로 이 드 에서 사진 기능 시스템 이 제공 되 었 으 며,app 에서 직접 사용 할 수 있 습 니 다.휴대 전화 가 안 드 로 이 드 플레이 에서 사진 기능 이 있 는 애플 리 케 이 션 을 다운로드 할 때 휴대 전화 가 지원 하 는 지 여 부 를 판단 한다.지원 하지 않 습 니 다.다운로드 하지 않 습 니 다.
사진 을 찍 는 데 는 몇 가지 절차 가 있다.
1.성명 권한
2.카메라 로 사진 찍 기
3.그림 보이 기
1.성명 권한
manifest 에서 Camera 사용 설명:

<uses-feature android:name="android.hardware.camera" /> 
2.카메라 로 사진 찍 기
Activity 에서 Camera 를 호출 합 니 다.

private void dispatchTakePictureIntent(int actionCode) { 
  Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 
  startActivityForResult(takePictureIntent, actionCode); 
} 
3.그림 보이 기
Camera 를 사용 하여 사진 을 성공 적 으로 찍 은 후에 돌아 올 것 입 니 다.그림 을 표시 하려 면 먼저 그림 을 가 져 와 서 표시 해 야 합 니 다.
onActivity Result 방법 에서 얻 기

 protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    switch (requestCode) { 
    Bundle extras = intent.getExtras(); 
    Bitmap mImageBitmap = (Bitmap) extras.get("data"); 
    mImageView.setImageBitmap(mImageBitmap); 
디 렉 터 리 를 만 들 때 그림 을 저장 하려 면 카메라 애플 리 케 이 션 을 시작 할 때 파일 을 지정 해 야 합 니 다.

Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 
File f = null; 
       
      try { 
        f = setUpPhotoFile();  
        takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(f)); 
      } catch (IOException e) { 
        e.printStackTrace(); 
        f = null; 
      } 


private File createImageFile() throws IOException { 
    // Create an image file name 
    String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date()); 
    String imageFileName = "IMG_"+ timeStamp + "_"; 
    File albumF = getAlbumDir(); 
    File imageF = File.createTempFile(imageFileName, "jpg", albumF); 
    return imageF; 
  } 
 
 
  private File setUpPhotoFile() throws IOException { 
     
    File f = createImageFile(); 
    mCurrentPhotoPath = f.getAbsolutePath(); 
     
    return f; 
  } 
private File getAlbumDir() { 
    File storageDir = null; 
 
 
    if (Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState())) { 
       
      storageDir = mAlbumStorageDirFactory.getAlbumStorageDir(getAlbumName()); 
 
 
      if (storageDir != null) { 
        if (! storageDir.mkdirs()) { 
          if (! storageDir.exists()){ 
            Log.d("CameraSample", "failed to create directory"); 
            return null; 
          } 
        } 
      } 
       
    } else { 
      Log.v(getString(R.string.app_name), "External storage is not mounted READ/WRITE."); 
    } 
     
    return storageDir; 
  } 
읽 어 주 셔 서 감사합니다. 여러분 에 게 도움 이 되 기 를 바 랍 니 다.본 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!

좋은 웹페이지 즐겨찾기