مقالات اپلیکیشن

شرح مقالات اپلیکیشن

مقالات اپلیکیشن

شرح مقالات اپلیکیشن

سنسورها و حسگرها در اندروید

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


حسگرهای حرکتی

حسگرهای محیطی

حسگرهای موقعیتی


برخی از حسگرها مبنی بر hardware و برخی دیگر نیز حسگرهای قابل انعطاف افزاری می‌باشند. طراحی اپلیکیشن در مشهد  حسگر هر چه باشد ، اندروید به ما قابلیت میدهد داده های ناپخته را از این حسگرها بدست رایاپارس  آوریم و از آن ها در اپ خویش به کارگیری کنیم. برای این اندروید کلاس هایی را نیز به ما ارائه می‌دهد.

اندروید کلاس های SensorManager و Sensor را برای به کار گیری از حسگرها در نرم افزار ما آماده نموده است. application  برای استعمال از حسگرها ، او‌لین کاری که می بایست اجرا دهید این میباشد که یک شیئ از کلاس SensorManager را مثال سازی نمائید. به طور پایین این فعالیت را جاری ساختن میدهیم:

SensorManager sMgr;

sMgr = (SensorManager)this.getSystemService(Context.SENSOR_SERVICE);

آیتم آینده که بایستی اعمال دهید این میباشد که با فراخوانی روال () getDefaultSensor از کلاس SensorManager ، شیئ از کلاس Sensor را مثال سازی فرمایید. به عنوان مثالً در کد پایین دسترسی به حسگر نوری را مهیا می‌کنیم:

Sensor light;

light = sMgr.getDefaultSensor(Sensor.TYPE_LIGHT);

بعداز دسترسی به حسگر به طور بالا ، می بایست مستمع ای برای آن تصویب نمائید و دو سیاق onAccuracyChanged و onSensorChanged را override نمایید. به طور تحت:

sMgr.registerListener(this, light,SensorManager.SENSOR_DELAY_NORMAL);

public void onAccuracyChanged(Sensor sensor, int accuracy) {

}


public void onSensorChanged(SensorEvent event) {

}


اخذ لیست حسگرهای امان گردیده


با فراخوانی اسلوب getSensorList میتوانید لیستی از حسگرهای جانبداری گردیده به وسیله دستگاه خویش را بدست آورید ، که لیستی از حسگرها دربردارنده اسم و شماره ورژن و داده ها بسیار بیشتری را به شما گشوده می گرداند. آنگاه می‌توانید این لیست را پیمایش نمایید تا داده ها را بدست آورید. به طور تحت:

sMgr = (SensorManager)this.getSystemService(Context.SENSOR_SERVICE);

List list = sMgr.getSensorList(Sensor.TYPE_ALL);

for(Sensor sensor: list){

}

به غیر از این متدها ، متدهای دیگری نیز وجود دارااست که به وسیله کلاس SensorManager برای مدیر حسگرها ارائه شد‌ه‌است. این متدها در ذیل نام برده میباشد:


Sr.No


مشی ها و توضیحات


1


getDefaultSensor(int type)


این روال حسگر پیشفرض از هر نوع دلخواه را میدهد


2


getInclination(float[] I)


این اسلوب زاویه شیب ژئومغناطیسی را برحسب رادیان با به کارگیری ماتریس شیب به حساب آوردن می نماید


3


registerListener(SensorListener listener, int sensors, int rate)


این مشی مستمع ای برای حسگر به ثبت می رساند


4


unregisterListener(SensorEventListener listener, Sensor sensor)

این مشی مستمع ای که تا قبل از اینً برای حسگر تصویب گردیده بود را کنسل به ثبت می رساند


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

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

getAltitude(float p0, float p)

این مشی طول را بر حسب متر از فشار جو و فشار در سطح دریا احتساب می نماید

در اینجا مثالی مشاهده کنید که به کار گیری از کلاس SensorManager را آرم میدهد. این نمونه نرم افزار معمولی ای میباشد که به شما قابلیت میدهد لیستی از حسگرهای دستگاه خویش را ملاحظه کنید.


برای تست این نمونه ، می‌توانید آن را روی دستگاه حقیقی وواقعی یا این که مشابه ساز جاری ساختن فرمائید.

نظرات 0 + ارسال نظر
برای نمایش آواتار خود در این وبلاگ در سایت Gravatar.com ثبت نام کنید. (راهنما)
ایمیل شما بعد از ثبت نمایش داده نخواهد شد