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



  • ۲۰
  • آبان

جلسه ۶۲ : سنسورها در اندروید

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

      مقدمه

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

      سنسورها در برنامه نویسی اندروید

      در این مبحث به بررسی روال کلی کار با سنسورها در برنامه نویسی اندروید و متدهای مربوطه می پردازیم.

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

      اصول کلی

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

      • Motion Sensors (سنسورهای حرکتی)
      • Environmental sensors (سنسورهای محیطی )
      • Position sensors (سنسورهای موقعیت)

      آندروید کلاس های SensorManager و Sensor را برای استفاده از سنسورها در برنامه ما ارائه می دهد.

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

      این تعریف می تواند به شرح نمونه زیر باشد:

      مثال : 

      حالا باید یک آبجکت از کلاس Sensor با فراخوانی متد ()getDefaultSensor از کلاس SensorManager ایجاد کنیم:

      مثال : 

      هنگامی که این سنسور اعلام می شود، شما باید آن را Listener ثبت کرده و دو متد AccuracyChanged و onSensorChanged را اعمال کنید:

      مثال : 

      دریافت لیست سنسورهای پشتیبانی شده

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

      متد فوق یک لیست از سنسورها حاوی نام و شماره نسخه و اطلاعات بسیار بیشتری را نشان می دهد.

      ساختار اقدام فوق به صورت زیر است:

      مثال : 

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

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

      getDefaultSensor(int type)

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

      ۲

      getOrientation(float[] R, float[] values)

      این متد یک توصیف از clip اولیه را از کلیپبورد برمی گرداند.

      ۳

      getInclination(float[] I)

      این متد زاویه گرانشی زمین را در رادیان از ماتریس inclination محاسبه می کند.

      ۴

      registerListener(SensorListener listener, int sensors, int rate)

      این متد یک listener برای سنسور ثبت می کند.

      ۵

      unregisterListener(SensorEventListener listener, Sensor sensor)

      این متد یک listener که برای سنسور ثبت شده را لغو می کند.

      ۶

      getOrientation(float[] R, float[] values)

      این متد جهت گیری دستگاه بر اساس ماتریس چرخش را محاسبه می کند.

      ۷

      getAltitude(float p0, float p)

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

      مثال

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

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

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

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

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

      محتوای فایل  MainActivity.java:

      مثال : 

      محتوای فایل activity_main.xml:

      مثال : 

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

      مثال : 

      محتوای فایل AndroidManifest.xml:

      مثال : 

      اجرای برنامه

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

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

      صفحه اول این اپلیکیشن به صورت زیر ظاهر خواهد شد:

      سنسورها در برنامه نویسی اندروید

      سنسورها در برنامه نویسی اندروید

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

      اگر این برنامه را در دستگاه های مختلف اجرا کنید، خروجی متفاوت خواهد بود زیرا خروجی بستگی به تعداد سنسورهای پشتیبانی شده توسط دستگاه شما دارد.

      کلام آخر

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

      در بخش بعدی به مدیریت Session در اندروید می پردازیم.

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