آموزش کار با دوربین در اندروید

سلام مثل همیشه باز با آموزش های کاربردی برگشتیم ! در این آموزش به بخش های مختلف کارکردن با دوربین اندروید می پردازیم همانند intent ها و ذخیره عکس ونمایش آن  با ما همراه باشید.
 
یک پروژه جدید ایجاد کرده و در layout آن کد های زیر را قرار دهید.(کاملا نمایان است که چه چیز هایی اضافه شده نیازی به توضیح اضافی ندارد.)

<RelativeLayout 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:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity">
    <Button
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="@string/camera_button"
        android:id="@+id/btnCamera"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        android:textColor="#ffd3ffe5"
        android:textStyle="bold" />
    <ImageView
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:id="@+id/capturedImage"
        android:layout_above="@+id/btnCamera">
    </ImageView>
</RelativeLayout>

 
همان طور که دیدید در قسمت بالا نام button را به صورت string داده شده است پس نیاز است فایل string.xml را باز کرده و خط زیر را به آن اضافه کنید.
 

    <string name="camera_button">#xf030; Take Picture</string>

 
بعد از اضافه کردن کد های بالا حال نوبت به کد های جاوا می رسد در فایل جاوای اکتیوتیتون که در اینجا برای  ما Mainactivity.java هست کد های زیر را قرار دهید.در کد زیر Package name ذکر نشده است !

import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.Typeface;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.GridLayout;
import android.widget.GridView;
import android.widget.ImageView;
import android.widget.TableLayout;
public class MainActivity extends ActionBarActivity {
    private Button btnCamera;
    private ImageView capturedImage;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Typeface font = Typeface.createFromAsset( getAssets(), "fontawesome-webfont.ttf" );
        btnCamera = (Button) findViewById(R.id.btnCamera);
        capturedImage= (ImageView) findViewById(R.id.capturedImage);
        btnCamera.setTypeface(font);
        btnCamera.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                openCamera();
            }
        });
    }
    private void openCamera() {
        Intent intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
        startActivityForResult(intent, 0);
    }
    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        // TODO Auto-generated method stub
        super.onActivityResult(requestCode, resultCode, data);
        if(resultCode == RESULT_OK) {
            Bitmap bp = (Bitmap) data.getExtras().get("data");
            capturedImage.setImageBitmap(bp);
        }
    }
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.menu_main, menu);
        return true;
    }
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();
        //noinspection SimplifiableIfStatement
        if (id == R.id.action_settings) {
            return true;
        }
        return super.onOptionsItemSelected(item);
    }
}

 
حالا زمان تست گرفتن است برنامه رو اجرا کنید و کیف دنیا رو ببرید
آموزش به اتمام رسید انشاالله که مفید بوده باشد.

مطالعه بیشتر