Membuat Looping dalam Beberapa Detik Sekali Android Studio | Handler()
Looping merupakan salah satu aspek yang sangat melekat pada semua konsep pemrograman. Looping sering digunakan untuk pengecekan, pengurutan, dan lain sebagainya. Sering kali juga kita membutuhkan looping untuk membuah sebuah counter. Kita dapat menjalankan perintah yang kita kehendaki setiap x waktu sekali sesuai selera. Dalam kesempatan ini saya akan memberikan contoh perulangan untuk menampilkan view setiap beberapa detik sekali menggunakan event Handler().
Pertama, kita buat view terlebih dahulu.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_main" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center" tools:context="com.anonimeact.looperhandler.MainActivity"> <TextView android:id="@+id/tv_count" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="24sp" android:gravity="center" android:text="Perulangan ke :" /> </LinearLayout> |
Selanjutnya kita buat algoritmanya di halaman MainAvtivity.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
package com.anonimeact.looperhandler; /** * Created by anonimeact on 19/02/17. */ import android.os.Handler; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.widget.TextView; public class MainActivity extends AppCompatActivity { private TextView tv_count; int angka = 0; Handler handler; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); tv_count = (TextView) findViewById(R.id.tv_count); handler = new Handler(); handler.postDelayed(new Runnable() { @Override public void run() { tv_count.setText("Perulangan ke: " + angka); angka = angka + 1 ; // delay setiap 1 detik handler.postDelayed(this, 1000); } // Delay awal }, 1000); } } |
Perulangan yang saya contohkan diatas dilakukan setiap 1 detik sekali. Untuk merubah jeda perulangan, Anda dapat merubah value pada bagian berikut:
1 2 |
// delay setiap 1 detik handler.postDelayed(this, 1000); |