Androidstudio调用摄像头拍照并保存照片教程

摘要

本文将教会你如何在Android Studio中调用摄像头拍照并保存照片,适合初学者和新手开发者。我们将通过具体的步骤和示例代码来展示整个实现过程。

整体流程表格

步骤 描述
1 设置权限
2 调用摄像头拍照
3 保存照片到设备
4 显示照片预览
pie
title 整体流程饼状图
"设置权限": 25
"调用摄像头拍照": 25
"保存照片到设备": 25
"显示照片预览": 25

详细步骤及代码示例

步骤1:设置权限

在AndroidManifest.xml文件中添加相机权限和存储权限。

<uses-permission android:name="android.permission.CAMERA"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
步骤2:调用摄像头拍照

在Activity中添加启动相机的代码。

private static final int REQUEST_IMAGE_CAPTURE = 1;

private void dispatchTakePictureIntent() {
    Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
    if (takePictureIntent.resolveActivity(getPackageManager()) != null) {
        startActivityForResult(takePictureIntent, REQUEST_IMAGE_CAPTURE);
    }
}
步骤3:保存照片到设备

在onActivityResult()方法中获取拍摄的照片并保存到设备。

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (requestCode == REQUEST_IMAGE_CAPTURE && resultCode == RESULT_OK) {
        Bundle extras = data.getExtras();
        Bitmap imageBitmap = (Bitmap) extras.get("data");
        saveImageToGallery(imageBitmap);
    }
}

private void saveImageToGallery(Bitmap imageBitmap) {
    String path = Environment.getExternalStorageDirectory() + "/CameraApp/";
    File dir = new File(path);
    if (!dir.exists()) {
        dir.mkdirs();
    }
    File file = new File(path + System.currentTimeMillis() + ".jpg");
    try {
        OutputStream fOut = new FileOutputStream(file);
        imageBitmap.compress(Bitmap.CompressFormat.JPEG, 100, fOut);
        fOut.flush();
        fOut.close();
    } catch (Exception e) {
        e.printStackTrace();
    }
}
步骤4:显示照片预览

在ImageView控件中显示拍摄的照片。

private void displayImage() {
    String path = Environment.getExternalStorageDirectory() + "/CameraApp/";
    File file = new File(path + "example.jpg");
    if (file.exists()) {
        Bitmap bitmap = BitmapFactory.decodeFile(file.getAbsolutePath());
        imageView.setImageBitmap(bitmap);
    }
}

整体实现过程

journey
title Androidstudio调用摄像头拍照并保存照片实现过程
section 初始化
  设置权限: 已完成
section 调用相机
  调用摄像头拍照: 已完成
section 保存照片
  保存照片到设备: 已完成
section 预览照片
  显示照片预览: 进行中

通过上述步骤和代码示例,你可以在Android Studio中实现调用摄像头拍照并保存照片的功能。希望对你有所帮助,加油!