一、前言
Android應用的攝像頭功能是比較基礎的功能之一,實現照片的拍攝功能可以滿足用戶在應用中的需求,例如社交類應用需要上傳用戶頭像,或者是在線購物類應用需要拍攝商品照片等。本文將詳細介紹如何在Android應用中調用攝像頭並實現照片的拍攝功能。
二、實現步驟
1、添加許可權
首先,在AndroidManifest.xml文件中添加以下許可權:
<uses-permission android:name="android.permission.CAMERA" /> //調用攝像頭許可權
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> //寫入SD卡許可權
2、創建布局文件
在res/layout文件夾下創建布局文件,用於顯示拍攝的照片。以下是示例代碼:
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<ImageView
android:id="@+id/imageView"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:contentDescription="@null"
android:scaleType="centerCrop" />
<Button
android:id="@+id/btn_take_photo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Take photo" />
</LinearLayout>
3、實現邏輯代碼
創建MainActivity.java文件,並添加以下代碼:
public class MainActivity extends AppCompatActivity {
private ImageView imageView;
private Button btnTakePhoto;
private static final int REQUEST_IMAGE_CAPTURE = 1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
imageView = findViewById(R.id.imageView);
btnTakePhoto = findViewById(R.id.btn_take_photo);
btnTakePhoto.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
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);
}
}
}
4、運行應用
運行應用後,點擊「Take photo」按鈕,調用攝像頭進行拍攝。拍攝完成後,照片會顯示在imageView控制項中。如下圖所示:
三、總結
本文詳細介紹了如何在Android應用中調用攝像頭並實現照片拍攝功能,包括添加許可權、創建布局文件、實現邏輯代碼和運行應用等步驟。通過本文的學習,可以更好地掌握Android應用的攝像頭功能,提升應用開發的能力。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/270716.html
微信掃一掃
支付寶掃一掃