CountDownTimer en Android con ejemplo

La aplicación CountDownTimer se trata de establecer un tiempo que se mueve en orden inverso, ya que muestra el tiempo restante en el próximo evento. Del mismo modo, aquí vamos a crear una aplicación de Android para aprender a crear una aplicación de cuenta regresiva simple . Entonces, comencemos la creación de la aplicación paso a paso hasta su finalización.

countdowntimer

Acercarse

Paso 1: Crear un nuevo proyecto

Para crear un nuevo proyecto en Android Studio, consulte Cómo crear/iniciar un nuevo proyecto en Android Studio . Tenga en cuenta que seleccione Java como lenguaje de programación.

Paso 2: trabajar con el archivo activity_main.xml

En el archivo activity_main.xml agregue solo un TextView para mostrar el CountDownTimer. A continuación se muestra el código completo para el archivo activity_main.xml .

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#fff"
    tools:context=".MainActivity">
  
    <!-- Here adding a TextView to show countdown -->
    <TextView
        android:id="@+id/textView"
        android:layout_width="0dp"
        android:layout_height="0dp"
        android:background="?android:attr/detailsElementBackground"
        android:gravity="center_horizontal|center_vertical"
        android:text="TextView"
        android:textColor="@color/colorPrimary"
        android:textSize="36sp"
        android:textStyle="bold"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.0"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintVertical_bias="0.0" />
  
</androidx.constraintlayout.widget.ConstraintLayout>

Paso 3: trabajar con el archivo MainActivity.java

Ahora en el archivo MainActivity.java , cree un objeto de TextView y asigne los componentes (TextView) con su id. 

// Inicializando la vista de texto

vista de texto vista de texto;

textView = findViewById (R.id.textView);

50 segundos

nuevo temporizador de cuenta regresiva (50000, 1000) {

           public void onTick(long millisUntilFinished) {

               // Se usa para formatear el dígito para que sea solo de 2 dígitos

               NumberFormat f = new DecimalFormat(“00”);

               hora larga = (millisUntilFinished / 3600000) % 24;

               min largo = (millisUntilFinished / 60000) % 60;

               largo segundo = (millisUntilFinished / 1000) % 60;

               textView.setText(f.format(hora) + “:” + f.format(min) + “:” + f.format(seg));

           }

           // Cuando la tarea termine, imprimirá 00:00:00 allí

           public void onFinish() {

               vistatexto.setText(“00:00:00”);

           }

       }.comienzo();

El código completo para el archivo MainActivity.java se proporciona a continuación.

MainActivity.java

package org.gfg.countdowntimer;
  
import android.os.Bundle;
import android.os.CountDownTimer;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
import java.text.DecimalFormat;
import java.text.NumberFormat;
  
public class MainActivity extends AppCompatActivity {
    // Initializing my textView
    TextView textView;
  
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
  
        textView = findViewById(R.id.textView);
        // Time is in millisecond so 50sec = 50000 I have used
        // countdown Interveal is 1sec = 1000 I have used
        new CountDownTimer(50000, 1000) {
            public void onTick(long millisUntilFinished) {
                // Used for formatting digit to be in 2 digits only
                NumberFormat f = new DecimalFormat("00");
                long hour = (millisUntilFinished / 3600000) % 24;
                long min = (millisUntilFinished / 60000) % 60;
                long sec = (millisUntilFinished / 1000) % 60;
                textView.setText(f.format(hour) + ":" + f.format(min) + ":" + f.format(sec));
            }
            // When the task is over it will print 00:00:00 there
            public void onFinish() {
                textView.setText("00:00:00");
            }
        }.start();
    }
}

Salida: ejecutar en el emulador

Cuenta regresiva de pulsos

PulseCountDown Android porque el hermoso valor inicial PulseCountDown el valor final necesita una aplicación de prueba PulseCountDown implemente PulseCountDown , consulte PulseCountDown en Android con el ejemplo.
 

pulse countdown

Publicación traducida automáticamente

Artículo escrito por kartiksrivastava6 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *