GULANGGULING.COM | ANDROID – Beberapa aplikasi seperti WhatsApp, Twitter dan Facebook, biasanya menampilkan format waktu yang relative terhadap waktu sekarang. Biasanya mereka menampilkan sebuah list dimana waktunya bertuliskan ‘1 menit yang lalu’ atau 15 minutes ago, bahkan waktu pesan yang dikirim satu hari sebelum hari ini ditampilkan dengan tulisan ‘Yesterday’ atau ‘kemarin’.
Pada kesempatan ini saya akan berbagi cara bagaimana membuat format waktu pada Android menjadi seperti format time ago, 1 minutes ago, 2 hours ago, yesterday dll.
Aplikasi ini saya beri nama Android Time Ago. Tampilannya kira-kira akan begini :
Untuk memformat waktu pada Android agar menjadi relative terhadap waktu sekarang adalah dengan menggunakan fungsi yang bernama getRelativeTimeSpanString(). Format fungsi ini dapat digunakan dan akan mengembalikan nilai seperti dibawah :
getRelativeTimeSpanString(long time, long now, long minResolution, int flags) Returns a string describing 'time' as a time relative to 'now'.
Dalam contoh aplikasi ini saya akan menampilkan data dalam bentuk list dan menyajikan format waktu dalam bentuk time ago. Dengan memanfaatkan fungsi getRelativeTimeSpanString(), saya membuat sebuah fungsi helper yang bertujuan untuk memformat waktu ke dalam bentuk relative time.
Dibawah ini adalah AppHelper.java yang berisi fungsi untuk mengkonversi waktu :
package webid.aiueo.timeago; import android.text.format.DateUtils; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; /** * Created by Ardhitya Wiedha Irawan on 9/14/2016. */ public class AppHelper { public String getTimeAgo(String dateInput) { String timeformat = dateInput; try { long now = System.currentTimeMillis(); SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss"); Date convertedDate = dateFormat.parse(dateInput); CharSequence relavetime1 = DateUtils.getRelativeTimeSpanString( convertedDate.getTime(), now, DateUtils.SECOND_IN_MILLIS); timeformat = String.valueOf(relavetime1); } catch (ParseException e) { e.printStackTrace(); } return timeformat; } }
Dengan fungsi helper diatas kita dapat memformat waktu dalam bentuk time ago, untuk menggunakan fungsi tersebut kita hanya perlu memanggil fungsi getTimeAgo() lalu memasukan parameter waktu dengan format “yyyy/MM/dd HH:mm:ss” . Contohnya:
apphelper.getTimeAgo("2016/09/15 08:15:00");
Selanjutnya tinggal disesuaikan dengan keperluan menampilkan data dalam bentuk list. Jika kita biasanya mengenal adapter untuk menampilkan data dalam bentuk listitem, maka kita tinggal menambahkan fungsi getTimeAgo() ini untuk mengolah setiap waktu yang hendak ditampilkan pada list tersebut.
Untuk lebih jelasnya, silakan download dan coba compile source code aplikasi dari GitHub saya.
Download source code Aplikasi Android di GitHub
Sekian tutorial ini, semoga bermanfaat bagi saya dan Anda yang membutuhkannya.
Mau tau cara mengirim push notifikasi di Android ? :
- Mengenal Push Notifikasi Android ala Firebase Cloud Messaging
- Cara Membuat Push Notifikasi di Android dengan Firebase Cloud Messaging
- Cara Mengirim Push Notifikasi ke Android dengan PHP & Firebase Cloud Messaging
- Membuat Aplikasi Android untuk Cek Koneksi Internet
- Membuat Aplikasi Android untuk Membaca Email User