Membuat Looping dalam Beberapa Detik Sekali Android Studio | Timer()
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. Setelah sebelumnya sayamemberikan contoh membuat looping menggunakan event Handler(), dalam kesempatan ini saya akan memberikan contoh perulangan untuk menampilkan view setiap beberapa detik sekali menggunakan Timer.
Pertama, kita buat view nya dalam activity_main.xml
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 tuangkan algoritma perulangannya dalam kelas MainActivity.java berikut:
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.Bundle; import android.support.v7.app.AppCompatActivity; import android.widget.TextView; import java.util.Timer; import java.util.TimerTask; public class MainActivity extends AppCompatActivity { private TextView tv_count; int angka = 0; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); tv_count = (TextView) findViewById(R.id.tv_count); new Timer().scheduleAtFixedRate(new TimerTask() { @Override public void run() { runOnUiThread(new Runnable() { @Override public void run() { tv_count.setText("Perulangan ke: " + angka++); } }); } // perulangan dilakukan dengan jeda 1 detik sekali }, 1000, 1000); } } |
Perulangan yang saya contohkan diatas dilakukan setiap 1 detik sekali. Untuk merubah jeda perulangan, Anda dapat merubah value pada bagian berikut:
1 2 |
// perulangan dilakukan dengan jeda 1 detik sekali }, 1000, 1000); |