پروژه‌های کاربردی در اندروید: ۲- شمارنده در اندروید

برنامه کاربردی CountDownTimer یک شمارنده معکوس است. این برنامه از یک زمان مشخص (بر حسب ثانیه) به صورت معکوس شروع به شمردن می‌­کند تا زمانی که زمان به صفر برسد. اندروید برای زمان‌­سنج معکوس یک کلاس ویژه دارد و استفاده از این کلاس ساده و کارآمد می‌­باشد.نمایی از برنامه CountDownTimerمراحل ایجاد یک کلاس شمارنده در گام­‌های زیر تشریح شده است:۱- یک کلاس جدید با ارث­‌بری از کلاس CountDownTimer ایجاد کنید. تابع سازنده این کلاس دو پارامتر ورودی دارد. پارامتر اول مدت زمان شمارنده را مشخص می‌­کند که در تابع () استفاده خواهد شد. پارامتر دوم، مدت زمان دوره­ای است که در طول فعال بودن شمارنده، اطلاعات آن به کاربر نمایش داده می­‌شود. از این پارامتر در تابع onTick() استفاده خواهد شد. هر دو پارامتر برحسب میلی‌ثانیه می‌­باشند.CountDownTimer(long millisInFuture, long countDownInterval)۲- توابع () و onTick() را بازنویسی کنید.۳- نمونهٰ‌­ای از این کلاس را در اکتیویتی اصلی اندروید ایجاد نمائید.۴- برای نمونه جدید ایجاد شده، تابع start() را فراخوانی کنید.برنامه CountDownTimer، متشکل از یک فایل Layout با کدهای XML و هم­‌چنین کدهای جاوا است. بعد از اجرای برنامه، رابط کاربری آن به شما نشان داده خواهد شد.<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical"> <Button android:id="@+id/button" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/start" /> <TableLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_gravity="center" android:padding="10dip"> <TableRow> <TextView android:id="@+id/timer" android:layout_width="wrap_content" android:layout_height="wrap_content" android:paddingRight="10dip" android:text="@string/time" /> <TextView android:id="@+id/timeElapsed" android:layout_width="wrap_content" android:layout_height="wrap_content" android:paddingRight="10dip" android:text="@string/time_elapsed" /> </TableRow> </TableLayout></LinearLayout>فایل Layout برنامه CountDownTimerpublic class MainActivity extends Activity implements Listener { private MalibuCountDownTimer countDownTimer; private long timeElapsed; private boolean timerHasStarted = false; private Button startB; private TextView text; private TextView timeElapsedView; private final long startTime = 50000; private final long interval = 1000; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); startB = (Button) this.findViewById(R.id.button); startB.setListener(this); text = (TextView) this.findViewById(R.id.timer); timeElapsedView = (TextView) this.findViewById(R.id.timeElapsed); countDownTimer = new MalibuCountDownTimer(startTime, interval); text.setText(text.getText() + String.valueOf(startTime)); } @Override public void (View v) { if (!timerHasStarted) { countDownTimer.start(); timerHasStarted = true; startB.setText("Start"); } else { countDownTimer.cancel(); timerHasStarted = false; startB.setText("RESET"); } } public class MalibuCountDownTimer extends CountDownTimer { public MalibuCountDownTimer(long startTime, long interval) { super(startTime, interval); } @Override public void () { text.setText("Time's up!"); timeElapsedView.setText("Time Elapsed: " + String.valueOf(startTime)); } @Override public void onTick(long millisUntilFinished) { text.setText("Time remain:" + millisUntilFinished); timeElapsed = startTime - millisUntilFinished; timeElapsedView.setText("Time Elapsed: " + String.valueOf(timeElapsed)); } } }کدهای جاوا برنامه CountDownTimerمی‌توانید پروژه CountDownTimer را از این‌جا دانلود کنید.برای کسب اطلاعات بیش‌تر در زمینه برنامه‌نویسی اندروید می‌توانید به منابع زیر مراجعه کنید:آموزش جامع برنامه نویسی اندروید (مقدماتی)آموزش جامع برنامه نویسی اندروید (پیشرفته)پروژه های کاربردی در اندرویدمنابع الکترونیکی:آموزش جامع برنامه نویسی اندروید (مقدماتی)آموزش جامع برنامه نویسی اندروید (پیشرفته)پروژه های کاربردی در اندروید