Uolo

تخم مرغ شانسی مشابه ایرانسل من

دوستان حتماً شما اگه ایرانسلی باشید و با برنامه ایرانسل من آشنا باشید حتماً با بخش تخم مرغ شانسی کار کردید!
امروز قصد دارم طریقه پیاده سازی همچین چیزی رو آموزش بدم؛ اگر مایل بودید ادامه مطلب رو دنبال کنید :))

 

خب در اول کار باید این مورد رو بدونید که این بحث کنترل لرزش تلفن همراه مربوط به سنسور گوشی میشه؛ خب ادامه میدیم، ما برای مدیریت این لرزش یک کلاس با نام shake.java که از SensorEventListener ارث بری شده میسازیم(دقت کنید که کلاس SensorListener منسوخ شده).
کدهای زیر رو به کلاستون اضافه کنید؛ خط اول و دوم مربوط به حداقل میزان و زمان لرزش هست، خط سوم مربوط به حداکثر زمان مکث بین لرزش هاست، خط چهارم مربوط به حداکثر زمان برای لرزش هست:

Code

 

ما برای اینکه در کلاس اکتیوتی اصلیمون(همون ماین) عملیاتی رو به پاسخ لرزش بدیم یک اینتر فیس برای انجام عملیات مینویسم و ازش یک شئ با نام onShakeListener میسازیم مانند زیر:

Code

 

خب حالا در متد onSensorChanged که متد اصلی کلاسمون هست متغییرهایی رو با نامهای x، y، z میسازیم و مقدارشون رو وضعیت سنسور پر میکنیم و لرزش رو محاسبه میکنیم:

Code

 

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

Code

 

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

Code

 

کد های اکتیونتی اصلی هم به این صورت هست(ولی موردی رو در نظر داشته باشید که سنسور رو حتماً در onPause غیرفعال کنید تا منابع سخت افزاریتون الکی درگیر نشه)

Code

 

دموی برنامه هم به این صورت هست امیدوارم مورد استفادتون قرار بگیره 🙂

اضافه کردن نظر

تکنولوژی