写一个 java版本的安卓Camera案例
以下是一个简单的Java版本的安卓Camera案例:
-
创建一个新的Android项目,选择空的Activity。
-
在MainActivity.java文件中添加以下代码:
import android.content.Intent;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.provider.MediaStore;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
private static final int REQUEST_IMAGE_CAPTURE = 1;
private ImageView imageView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button takePictureBtn = findViewById(R.id.take_picture_btn);
imageView = findViewById(R.id.image_view);
takePictureBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
dispatchTakePictureIntent();
}
});
}
private void dispatchTakePictureIntent() {
Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
if (takePictureIntent.resolveActivity(getPackageManager()) != null) {
startActivityForResult(takePictureIntent, REQUEST_IMAGE_CAPTURE);
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == REQUEST_IMAGE_CAPTURE && resultCode == RESULT_OK) {
Bundle extras = data.getExtras();
Bitmap imageBitmap = (Bitmap) extras.get("data");
imageView.setImageBitmap(imageBitmap);
}
}
}
- 在res/layout目录下创建一个新的XML布局文件,命名为activity_main.xml。该文件包含一个Button和一个ImageView,代码如下:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:gravity="center_horizontal"
tools:context=".MainActivity">
<Button
android:id="@+id/take_picture_btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Take Picture" />
<ImageView
android:id="@+id/image_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:adjustViewBounds="true"
android:scaleType="centerCrop" />
</LinearLayout>
- 运行程序,点击“Take Picture”按钮,调用系统相机拍照。拍照完成后,将照片显示在ImageView中。
注意:在AndroidManifest.xml文件中添加相机权限:
<uses-permission android:name="android.permission.CAMERA" />
这是一个简单的Java版本的安卓Camera案例,可以作为初学者的入门教程。
原文地址: https://www.cveoy.top/t/topic/bMUW 著作权归作者所有。请勿转载和采集!