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;
}
읽 어 주 셔 서 감사합니다. 여러분 에 게 도움 이 되 기 를 바 랍 니 다.본 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Bitrise에서 배포 어플리케이션 설정 테스트하기이 글은 Bitrise 광고 달력의 23일째 글입니다. 자체 또는 당사 등에서 Bitrise 구축 서비스를 사용합니다. 그나저나 며칠 전 Bitrise User Group Meetup #3에서 아래 슬라이드를 발표했...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.