دوره های آموزشی آکادمی پی وی لرن (پروژه محور و ویژه بازار کار)



  • ۱۹
  • آبان

جلسه ۳۱ : کار با دوربین در اندروید

  • دسته‌بندی‌ها :
جلسه ۳۱ : کار با دوربین در اندروید
    • جزئیات
    • نوع محتواآموزش تصویری

      مقدمه

      با عرض سلام و وقت بخیر خدمت کاربران سایت پی وی لرن . و کاربرانی که دوره کامل آموزش برنامه نویسی اندروید را دنبال می کنند. گاهی در بعضی از برنامه های کاربردی اندروید نیاز دارید که به دوربین دستگاه دسترسی پیدا کرده و از قابلیت های آن در اپلیکیشن خود استفاده کنید، اندروید به شما اجازه می دهد تا با کلاس ها و متدهای خاصی بتوانید به دوربین دستگاه اندروید مورد نظر دسترسی داشته باشید، با دوربین شما می توانید علاوه بر گرفتن عکس و فیلم در برنامه ، اقداماتی نظیر بارکد خوان ، تشخیص متن یا چهره و … را نیز انجام دهید، برای اشنایی بیشتر با چگونگی کار با دوربین در اندروید در ادامه ی مباحث این آموزش با ما همراه باشید.

      کار با دوربین در اندروید

      در این مبحث ما شما را با ساختار و متدهای کار با دروبین و همچنین یک مثال ساده در این زمینه آشنا می کنیم.

      به طور کلی دو راه برای استفاده از دوربین دستگاه در اپلیکیشن خود دارید:

      • با استفاده از برنامه اپلیکیشن های دوربین اندروید موجود ، در اپلیکیشن خود.
      • استفاده ی مستقیم از API دوربین ارائه شده توسط آندروید در اپلیکیشن خود.

      استفاده از برنامه اپلیکیشن های دوربین اندروید موجود

      ما از MediaStore.ACTION_IMAGE_CAPTURE برای اجرای اپلیکیشن دوربین نصب شده در تلفن همراه خود استفاده می کنیم.

      ساختار استفاده از این روش به صورت زیر است:

      مثال : 

      به غیر از موارد فوق، موجودی های دیگر توسط MediaStore وجود دارد. آنها به شرح زیر هستند:

      ردیفنوع Intent و توضیحات مربوطه
      ۱ACTION_IMAGE_CAPTURE_SECURE

      این عکس گرفته شده توسط دوربین دستگاه را برمی گرداند.

      ۲ACTION_VIDEO_CAPTURE

      video application اندروید را برای ضبط ویدئو فراخوانی می کند.

       

      ۳EXTRA_SCREEN_ORIENTATION

      این برای جهت گیری افقی و عمودی صفحه استفاده می شود.

      ۴EXTRA_FULL_SCREEN

      این برای کنترل رابط کاربری ViewImage استفاده می شود.

      ۵INTENT_ACTION_VIDEO_CAMERA

      این نوع برای تنظیم دوربین دستگاه در حالت ضبط ویدئو استفاده می شود.

      ۶EXTRA_SIZE_LIMIT

      این نوع برای محدود کردن اندازه ی محدوده ی ضبط عکس یا ویدئو استفاده می شود.

      حالا باید از تابع ()startActivityForResult برای اجرای این activity و دریافت نتیجه استفاده کرد.

      ساختار آن به این صورت است:

      مثال : 

      این متد در کلاس activity تعریف شده است و ما آن را از main activity فرخوانی می کنیم.

      متد های تعریف شده ای در کلاس activity  وجود دارد که کار مشابهی را انجام می دهد.

      این متدها به شرح زیر است:

      ردیفتابع Activity و توضیحات مربوطه
      ۱

      startActivityForResult(Intent intent, int requestCode, Bundle options)

      این یک activity را شروع می کند، اما شما می توانید با این متد گزینه های بیشتری را نیز داشته باشید.

      ۲

      startActivityFromChild(Activity child, Intent intent, int requestCode)

      این یک activity که زیر مجموعه ی سایر activity ها باشد را شروع می کند.

      ۳

      startActivityFromChild(Activity child, Intent intent, int requestCode, Bundle options)

      این همانند متد بالا عمل می کند با این تفاوت که شامل گزینه های بیشتری در شکل می باشد.

      ۴

      startActivityFromFragment(Fragment fragment, Intent intent, int requestCode)

      این activity را از یک فرگمنت اجرا می کند.

      ۵

      startActivityFromFragment(Fragment fragment, Intent intent, int requestCode, Bundle options)

      این activity را از یک فرگمنت اجرا نمی کند اما اجازه می دهد که مقادیر اضافه تری را تنظیم کنید.

      برای دریافت نتیجه ی هر کدام از متدهای فوق می توانید نتیجه را با فراخوانی تابع onActivityResult بدست آورید.

      مثال

      در اینجا یک مثال است که چگونگی راه اندازی برنامه دوربین موجود برای ضبط یک تصویر و نمایش نتیجه در فرم bitmap را نشان می دهد.

      نکته: برای تست این مثال شما باید از یک دستگاه اندروید واقعی که دوربین داشته باشد استفاده کنید.

      مراحل انجام کار:

      مراحلتوضیحات
      ۱مراحل ایجاد برنامه در اندروید استدیو را طبق بخش های قبلی دنبال کرده و نام پکیج را com.pvlearn.myapplication قرار بدهید.
      ۲به محتوای فایل src/MainActivity.java کد intent مورد نیاز برای استفاده از دوربین را اضافه کنید.
      ۳طراحی فایل  res/layout/activity_main.xml مطابق با نیاز برنامه تغییر دهید.
      ۴برنامه را اجرا کنید تا شبیه ساز اندروید نتیجه را نمایش دهد.

      محتوای فایل main activity در مسیر src/MainActivity.java به صورت زیر است:

      مثال : 

      محتوای فایل res/layout/activity_main.xml file:

      مثال : 

      محتوای فایل res/values/strings.xml :

      مثال : 

      محتوای پیش فرض فایل AndroidManifest.xml :

      مثال : 

      اجرای برنامه

      برای اجرای برنامه ی اندرویدی خود یکی از فایل های activity در برنامه ی خود کلیک کنید.

      سپس روی نماد  (Run) از نوار ابزار برای شروع اجرای برنامه کلیک کنید.

      سپس نتیجه اجرای برنامه را در دستگاه اندروید خود مشابه زیر مشاهده خواهید کرد.

      در این پنجره شما باید محیط اجرای برنامه را بین شبیه ساز و دستگاه اندروید خود انتخاب کنید:

      کار با دوربین در اندروید -انتخاب دستگاه

      کار با دوربین در اندروید -انتخاب دستگاه

      در پنجره ی فوق دستگاه موبایل خود را انتخاب کرده و سپس دوربین موبایل خود را باز کنید تا نتیجه ی زیر را مشاهده کنید:

      کار با دوربین در اندروید -نتیجه ی اجرای دوربین دستگاه

      کار با دوربین در اندروید -نتیجه ی اجرای دوربین دستگاه

      کلام آخر

      یکی از قابلیت های دیگری که اندروید در اختیار شما قرار می دهد قابلیت دسترسی و مدیریت دوربین دستگاه اندروید از طریق اپلیکیشن شماست. این قابلیت در زمینه های بسیاری کاربرد دارد، از این رو مباحث این آموزش به آموزش کار با دوربین در اندروید اختصاص یافته است.

      QR:  جلسه ۳۱ : کار با دوربین در اندروید
      به اشتراک بگذارید