آموزش کامل کار با دوربین (Camera) در اندروید استودیو

دوربین

 
روش کار با دوربین در برنامه نویسی اندروید :
حتما تا به حال به خیلی از برنامه ها برخورد کرده اید که در هنگام نصب نیاز به دادن دسترسی هایی است
که از جملهاین دسترسی ها دسترسی به دوربین است مثل برنامه های ویرایش عکس و …
نحوه ی کدنویسی به صورت زیر است:
در این آموزش یک دکمه (Button) و یک ImageView قرار دارد که با کلیک بروی Button دوربین برای شما نمایش پیدا می کند
 
زمانی که عکس گرفته شود توسط bundle دریافت و در ImageView قرار خواهد گرفت.
آموزش دوربین در برنامه نویسی اندروید در برنامه نویسی بسیار مهم است در ادامه با ما همراه باشید.
ابتدای کار باید در layout خود یک Button و ImageView همانند زیر قرار دهید نام فایل برابر با main.xml است.
 

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<Button
android:id="@+id/btn_camera"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="Take image" />
<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center" />
</LinearLayout>

 
سپس وارد اکتیویتی مربوطه شده در اینجا نام آن برابر با CameraDemoActivity.java است و کدهای زیر را در آن قرار دهید.
 

package ir.Devhelp:
import android.app.Activity;
import android.content.ActivityNotFoundException;
import android.content.Intent;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.provider.MediaStore;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageView;
public class CameraDemoActivity extends Activity {
protected static final int CAMERA_REQUEST = 1;
ImageView imgView;
Button btnCamera;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
imgView = (ImageView) findViewById(R.id.imageView1);
btnCamera = (Button) findViewById(R.id.btn_camera);
btnCamera.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT,
MediaStore.Images.Media.EXTERNAL_CONTENT_URI.toString());
try {
intent.putExtra("return-data", true);
startActivityForResult(intent, CAMERA_REQUEST);
} catch (ActivityNotFoundException e) {
}
}
});
}
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == CAMERA_REQUEST) {
Bundle extras = data.getExtras();
if (extras != null) {
Bitmap photo = extras.getParcelable("data");
imgView.setImageBitmap(photo);
}
}
}
}

در بالا وقتی بروی دکمه کلیک می شود Intent مربوط به Camer باز شده سپس شما عکس خود را گرفته و دکمه back را فشار میدهید
در این زمان وارد void ی به نام onActivityResult شده و دیتا (عکس) را با استفاده از Bundle دریافت می کنیم
باید مقدار getParcelable برابر با data باشد آن را تغییر ندهید و در آخر در IamgeView قرار میدهیم.
البته لازم به ذکر است که شما می توانید هم از طریق اینتنت ها و هم از طریق ایجاد دوربین شخصی سازی شده از دوربین در نرم افزار خود استفاده کنید.

مطلب مفیدی برای شما بود ؟ پس به اشتراک بگذارید برای دوستانتان

codesrcReza

109 مطلب منتشر شده

درباره این مطلب نظر دهید !