D A S E N Y
تایمر معکوس در برنامه نویسی اندروید

با سلام خدمت تمامی برنامه نویسان و همراهان سایت Daseny. در این قسمت میخواهیم یاد بگیریم که چطور می توانیم یک تایمر معکوس در برنامه نویسی اندروید ایجاد کنیم.

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

ما می توانیم با روش های ساده برنامه نویسی یک تایمر در برنامه نویسی اندروید بسازیم. ولی موضوعی که مطرح است همان سخن همیشگی است. اینکه زیبایی ظاهر برنامه بسیار مهم و ضروری می باشد و ما باید تا می توانیم به تقویت این مسئله بپردازیم. برای اینکه بتوانیم یک تایمر زیبا در برنامه خودمان قرار دهیم، می توانیم از کتابخانه FlipTimerView استفاده کنیم. تنها به این نکته توجه کنید که این کتابخانه حداقل نسخه اندرویدی که پشتیبانی می کند، اندروید 5 است و minSdkVersion برنامه نباید کمتر از 21 باشد.

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

برای استفاده از این کتابخانه باید آن را به برنامه خودمان استفاده کنیم. برای اینکار ابتدا کد زیر را به بخش repositories اضافه کنیم.

maven { url ‘https://jitpack.io’ }

پس از اینکار کد زیر را هم به بخش dependencies اضافه می کنیم و روی Sync now کلیک می کنیم.

implementation ‘com.github.anugotta:FlipTimerView:v1.1’

پس از اینکه کتابخانه با موفقیت به پروژه اضافه شد باید کدهای زیر را در Layout برنامه خودمان قرار دهیم.

<com.asp.fliptimerviewlibrary.CountDownClock
    android:id=”@+id/timerProgramCountdown”
    android:layout_width=”wrap_content”
    android:layout_height=”wrap_content”
    android:layout_centerInParent=”true”
    android:clipChildren=”false”
    android:clipToPadding=”false”
    countdownClock:almostFinishedCallbackTimeInSeconds=”5″
    countdownClock:animationDuration=”850″
    countdownClock:countdownTickInterval=”1000″
    countdownClock:digitDividerColor=”@color/transparent”
    countdownClock:digitPadding=”2dp”
    countdownClock:digitTextColor=”@color/black”
    countdownClock:digitTextSize=”24sp”
    countdownClock:digitWidth=”28dp”
    countdownClock:halfDigitHeight=”22dp”
    countdownClock:resetSymbol=”8″
    countdownClock:splitterPadding=”0dp” />

در مرحله آخر به سراغ کدهای جاوا می رویم و کدهای زیر را در هرجایی که می خواهیم تایمر شروع به کار کند قرار می دهیم.

final CountDownClock timerProgramCountdown =
findViewById(R.id.timerProgramCountdown);
timerProgramCountdown.startCountDown(9000);
timerProgramCountdown.setCountdownListener(
new CountDownClock.CountdownCallBack() {
    @Override
    public void countdownAboutToFinish() {

    }

    @Override
    public void countdownFinished() {
        Toast.makeText(MainActivity.this, “Finished”, Toast.LENGTH_SHORT).show();
        timerProgramCountdown.resetCountdownTimer();
    }
});

در کد بالا زمان مورد نظر بر حسب میلی ثانیه در متد ()setCountDown وارد می کنیم. برای مثال ما عدد 9000 را وارد کرده ایم که به معنای 9 ثانیه است. تابع ()countdownAboutToFinish زمانی اجرا می شود که حدود پنج ثانیه تا پایان باشد و تابع ()countdownFinished زمانی اجرا می شود که تایمر به پایان برسد. با استفاده از متد ()resetCountdownTimer تایمر صفر می شود.

پیش نمایش برنامه

پیشنمایش برنامه

به این ترتیب توانستیم یک تایمر در برنامه نویسی اندروید ایجاد کنیم.

کدهای برنامه

activiy_main.xml

<?xml version=”1.0″ encoding=”utf-8″?>
<RelativeLayout
    xmlns:android=”http://schemas.android.com/apk/res/android”
    xmlns:tools=”http://schemas.android.com/tools”
    android:layout_width=”match_parent”
    android:layout_height=”match_parent”
    xmlns:countdownClock=”http://schemas.android.com/apk/res-auto”
    tools:context=”.MainActivity”>
    <com.asp.fliptimerviewlibrary.CountDownClock
        android:id=”@+id/timerProgramCountdown”
        android:layout_width=”wrap_content”
        android:layout_height=”wrap_content”
        android:layout_centerInParent=”true”
        android:clipChildren=”false”
        android:clipToPadding=”false”
        countdownClock:almostFinishedCallbackTimeInSeconds=”5″
        countdownClock:animationDuration=”850″
        countdownClock:countdownTickInterval=”1000″
        countdownClock:digitDividerColor=”@color/transparent”
        countdownClock:digitPadding=”2dp”
        countdownClock:digitTextColor=”@color/black”
        countdownClock:digitTextSize=”24sp”
        countdownClock:digitWidth=”28dp”
        countdownClock:halfDigitHeight=”22dp”
        countdownClock:resetSymbol=”8″
        countdownClock:splitterPadding=”0dp” />

</RelativeLayout>

MainActivity.java

package com.example.myapplication;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.Toast;

import com.asp.fliptimerviewlibrary.CountDownClock;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        final CountDownClock timerProgramCountdown = findViewById(R.id.timerProgramCountdown);
        timerProgramCountdown.startCountDown(9000);
        timerProgramCountdown.setCountdownListener(new CountDownClock.CountdownCallBack() {
            @Override
            public void countdownAboutToFinish() {
                
            }

            @Override
            public void countdownFinished() {
                Toast.makeText(MainActivity.this, “Finished”, Toast.LENGTH_SHORT).show();
                timerProgramCountdown.resetCountdownTimer();
            }
        });
    }
}

این آموزش هم به پایان رسید. لطفا نظرات، پیشنهادات و انتقادات خود را برای ما بنویسید. اگر سوالی دارید می توانید در بخش نظرات بازگو کنید. ما در اسرع وقت پاسخ گوی شما خواهیم بود.

اگر به برنامه نویسی اندروید علاقه دارید، می توانید در دوره مقدماتی برنامه نویسی ما ثبت نام کنید.

مطالب اخیر

پیام بگذارید