انجمن سایت کلیدستان


رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
ایجاد تایمر (در برنامه نویسی اندروید)

ایجاد تایمر (در برنامه نویسی اندروید)

#1
 سلام
ممنون میشم جوابم رو کامل بدین.
من میخوام برنامه ای بسازم که در آن تایمر باشه که وقت آن رو هم خود کاربر تنظیم کنه و زمان رو هم نشون بده در صفحه که داره میگذره و وقتی وقت به پایان رسید رنگ صفحه مثلا قرمز بشه و یه صدا پخش بشه و گوشی بلرزه میشه منو کمک کنید تا این برنامه رو بنویسم.
پاسخ

ایجاد تایمر (در برنامه نویسی اندروید)

#2
سلام.
کاربر به دو صورت می تواند زمان را وارد کند (که البته برنامه نویس، آن را انتخاب و کد را بر اساس آن می نویسد، یا اینکه برنامه اندروید را برای هر دو حالت طراحی می کند) :
1- کاربر یک مقدار زمان (مثلا 2 روز و 6 ساعت و 34 دقیقه و 20 ثانیه) را وارد می کند و بعد شمارش معکوس داریم
2- کاربر یک تاریخ و زمان (مثلا ساعت 10 در 20 اسفند 1393) را انتخاب می کند و بعد شمارش معکوس شروع می شود
هر کدام از دو مورد بالا را که انتخاب کنید، باید تعدادی EditText (کلید شماره 265) داشته باشیم که مقادیر را به طور جداگانه از کاربر گرفته و سپس آنها را به ((یک عدد تنها)) بر اساس تعداد ثانیه تبدیل می کنیم (که در ادامه روش آن را شرح می دهم).
در حالت اول، چون کاربر مقدار زمان را وارد کرده، تنها باید همه آن را به ثانیه تبدیل کنیم و بعد شمارش معکوس را شروع کرده و از عدد حاصل، یک ثانیه یک ثانیه کم می کنیم و نتیجه را در یک TextView نمایش می دهیم. 
چگونگی انجام آن را در موضوع زیر شرح داده ایم (این موضوع در مورد روزشمار است و توضیحات آن به درد شما هم می خورد) :

http://www.kelidestan.com/forum/showthread.php?tid=5039

برای حالت دوم که با تاریخ سر و کار داریم، باید از معیار Unix Epoch استفاده کنیم. یعنی آن تاریخ را به صورت یک عدد تنها بر اساس ثانیه به دست می آوریم (بر اساس معیار Unix Epoch) و زمان فعلی (بر اساس معیار Unix Epoch) را هم به دست می آوریم و دو عدد بر اساس ثانیه داریم که باید از هم کم کنیم و شمارش معکوس را شروع نماییم. چگونگی شمارش معکوس هم مثل همان حالت قبل است.
برای تبدیل یک تاریخ ساختاریافته (بر اساس سال و ماه و روز و ساعت و ...) به یک عدد تنها (بر اساس معیار Unix Epoch)، کلید زیر را بخوانید :

کلید شماره 2983

برای به دست آوردن زمان فعلی، بر اساس معیار Unix Epoch ، کلید زیر را بخوانید :

کلید شماره 2981

اما در مورد عملیات هایی که گفتید بعد از پایان شمارش معکوس باید اتفاق بیفتد، شمارش معکوس در یک حلقه while (کلید شماره 339) انجام می شود که در آن، همان کدی را داریم که هر 1 ثانیه یک بار اجرا می شود (این مورد را در همان موضوع ذکر کرده ایم و کلید مربوط به آن نیز کلید شماره 2861 می باشد) و 1 عدد از تعداد ثانیه ها کم کرده و سپس نتیجه را به صورت زمان جدید، در TextView نمایش می دهد. ما زمانی از حلقه while خارج می شویم که آن قدر از عدد مورد نظر کم کرده ایم که دیگر برابر عدد صفر شده است. پس شرط خروج از حلقه را صفر شدن آن می گذاریم. پس کافی است که کدهای مورد نظرتان برای مرحله بعد از شمارش را بعد از کدهای حلقه while بنویسید. 
برای قرمز شدن صفحه (تغییر رنگ پس زمینه Activity) کلید زیر را بخوانید :

کلید شماره 844

برای پخش صدا، دسته بندی زیر را ببینید :

http://www.kelidestan.com/keys/categorie...Category=8

برای لرزش گوشی، دسته بندی زیر را ببینید :

http://www.kelidestan.com/keys/categorie...ategory=47

bookbook 
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.
پاسخ
 سپاس شده توسط reza10wert ، شماره مجازی امارات ، تلگرام ضد فیلتر 2023


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان