آموزش کار با دوربین در اندروید
سلام مثل همیشه باز با آموزش های کاربردی برگشتیم ! در این آموزش به بخش های مختلف کارکردن با دوربین اندروید می پردازیم همانند intent ها و ذخیره عکس ونمایش آن با ما همراه باشید.
یک پروژه جدید ایجاد کرده و در layout آن کد های زیر را قرار دهید.(کاملا نمایان است که چه چیز هایی اضافه شده نیازی به توضیح اضافی ندارد.)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | <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 را باز کرده و خط زیر را به آن اضافه کنید.
1 | <string name="camera_button">#xf030; Take Picture</string> |
بعد از اضافه کردن کد های بالا حال نوبت به کد های جاوا می رسد در فایل جاوای اکتیوتیتون که در اینجا برای ما Mainactivity.java هست کد های زیر را قرار دهید.در کد زیر Package name ذکر نشده است !
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 | 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); } } |
حالا زمان تست گرفتن است برنامه رو اجرا کنید و کیف دنیا رو ببرید
آموزش به اتمام رسید انشاالله که مفید بوده باشد.