اجرای یک سری کد، به صورت چندین بار و با فواصل زمانی منظم و یک زمان نهایی برای پایان، با روش onTick از کلاس CountDownTimer ، در برنامه نویسی اندروید
قبلا در کلید شماره 2610 در مورد کلاس CountDownTimer صحبت کردیم که می تواند برای اجرای یک سری کد بعد از گذشت یک مدت زمان مشخص، به کار رود. اما کلاس CountDownTimer ، این قابلیت را هم دارد که در آن تعیین کنیم که یک سری کد، در فاصله های زمانی مشخص، اجرا شوند، البته تا وقتی که زمان تعیین شده به عنوان زمان پایان، فرا رسد.
برای این منظور، این بار باید از روش onTick موجود در کلاس CountDownTimer استفاده کنیم.
به عنوان مثال :
که در آن، به جای عبارت // your code باید کدهای مورد نظر خود را بنویسید.
دو عدد را برای کلاس CountDownTimer ذکر کرده ایم، یکی عدد 17000 میلی ثانیه (17 ثانیه) که زمان پایان را مشخص می کند و دیگری عدد 4000 میلی ثانیه (4 ثانیه) که بازه زمانی بین تکرار شدن اجرای کدها را مشخص کرده است.
بنابراین زمان پایان برابر 17000 میلی ثانیه (17 ثانیه) تعیین شده است و کدهای تعیین شده برای روش onTick هم تا قبل از فرا رسیدن زمان پایان، هر 4000 میلی ثانیه (4 ثانیه) یک بار، اجرا خواهند شد.
یک مثال کامل :
بنابراین کد زیر 4 بار اجرا خواهد شد (با فاصله زمانی 4 ثانیه) :
کلاس Toast برای نمایش یک پیام به مدت چند ثانیه، به کار می رود ( کلید شماره 232 ). کد بالا باعث نمایش عبارت kelidestan.com به مدت چند ثانیه می شود.
در متغیر millisUntilFinished ، مقدار زمان باقیمانده تا زمان پایان بر اساس میلی ثانیه، ذخیره می شود. برای درک بهتر این موضوع، کدهای زیر را اجرا نمایید :
بنابراین پیام های زیر با فاصله های 4 ثانیه ای، نمایش داده می شوند :
بنده بر اساس تجربه متوجه شدم که این روش، کاملا دقیق نیست (البته اگر زمان در حد میلی ثانیه برای شما مهم باشد). به عنوان مثال، اگر کد زیر را چندین بار اجرا کنید، اعداد میلی ثانیه مربوط به زمان، در اجراهای مختلف، متفاوت خواهند بود :