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

ایرانسل من
ایرانسل من


دوستان حتماً شما اگه ایرانسلی باشید و با برنامه ایرانسل من آشنا باشید حتماً با بخش تخم مرغ شانسی کار کردید و حتماً به این فکر کردید که این بخش چجوری ساخته شده!

امروز قصد دارم طریقه پیاده سازی همچین چیزی رو آموزش بدم. سورسشم در آخر متن گذاشتم که خواستید راحت به پروژتون اضافه کنید؛ اگر مایل بودید ادامه مطلب رو دنبال کنید. ?


خب در اول کار

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

کدهای زیر رو به کلاستون اضافه کنید؛ خط اول و دوم مربوط به حداقل میزان و زمان لرزش هست، خط سوم مربوط به حداکثر زمان مکث بین لرزش هاست، خط چهارم مربوط به حداکثر زمان برای لرزش هست:

یولو
یولو


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

یولو
یولو


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

یولو
یولو


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

یولو
یولو


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

یولو
یولو


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


امید وارم مورد استفادتون قرار بگیره و اینم بگم که از سایتم کش رفتم :)