Mengambil Data Tanggal dan Waktu di Android menggunakan Java

Kadang dalam suatu bagian dari project android kita, diharuskan untuk mengambil data waktu (tanggal, hari, jam, menit, dst) dari sistem Android. Data tersebut kemudian diolah untuk keperluan timing, conditional atau mungkin pengambilan keputusan dalam project Android Anda. Contoh sederhana penggunaan data DateTime ini adalah aplikasi ‘TaskShceduller’ versi Android. Fungsi  aplikasi ini kurang lebihnya adalah mengatur eksekusi ‘action’ tertentu pada waktu (tanggal dan jam) tertentu. Aplikasi ini sudah pasti akan mengambil data DateTime pada sistem Android.

Untuk mengambil data DateTime dari sistem Android, Anda dapat memanfaatkan field-field dari  class Calendar. Field-field tersebut dalam bentuk konstanta bertipe integer seperti YEAR, MONTH, DAY, MINUTE, dst. Anda dapat menggunakannya langsung atau memanipulasinya menggunakan class SimpleDateFormat. Dengan menciptakan sebuah instance SimpleDateFormat Anda dapat langsung memparsing dan memformat tampilan DateTime sesuai keinginan. Anda dapat mengatur jam dengan hitungan 12 jam/24 jam, mengatur menit dengan default 1 digit/2 digit atau menambahkan am/pm pada tampilan waktu.  Untuk lebih jelasnya, simaklah contoh program sebagai berikut. Program ini merupakan pengembangan dari artikel sebelumnya tentang Timer di Android.

Nama program : timerku2.apk

Objective : menampilkan waktu sekarang dari sistem Android

Langkah – langkah development :

  1. Buka IDE Eclipse dalam ADT (Android Developer Tools) dan buatlah project baru dengan nama ‘timerku’ melalui menu File | New | Android application Project. Ikuti jendela wizard sampai selesai dengan menekan tombol ‘Next’. 
  2. Atur layout aplikasi seperti pada artikel sebelumnya di sini
  3. Isikan program utama pada file MainActivity.java pada folder /src pada jendela Package Explorer, sebagai berikut : 
publicclass MainActivity extends Activity {
       private Handler handler = new Handler(); 

       @Override
       protectedvoid onCreate(Bundle savedInstanceState) {
              super.onCreate(savedInstanceState);
              setContentView(R.layout.activity_main);
              //panggil timer
              handler.postDelayed(runnable, 1000);  
       }

       private Runnable runnable = new Runnable() {
                 @Override
                 publicvoid run() {
                        Calendar c1 = Calendar.getInstance();
                        SimpleDateFormat sdf1 = new SimpleDateFormat("d/M/yyyy h:m:s a");
                           //SimpleDateFormat sdf1 = new SimpleDateFormat("HH:mm:ss");
                           String strdate1 = sdf1.format(c1.getTime());
                           TextView txtdate1 = (TextView) findViewById(R.id.textView1);
                           txtdate1.setText(strdate1);     
                           }
                    handler.postDelayed(this, 1000);
                 }
              };

       @Override
       publicboolean onCreateOptionsMenu(Menu menu) {
              // Inflate the menu; this adds items to the action bar if it is present.
              getMenuInflater().inflate(R.menu.main, menu);
              returntrue;
       }
}

4. Running program (CTRL+F11) dan amati hasil program pada AVD (Android Virtual Device) atau pada smartphone/tablet Android jika Anda menggunakan device sesungguhnya. 

Penjelasan program :

Baris [2] : menciptakan instance Handler untuk keperluan pembuatan ‘objek’ Timer

Baris [9] : memanggil ‘event’ onTimer

Baris  [12] s.d [24] : isi ‘event’ onTimer yang dipanggil tiap satu satuan waktu (dalam contoh program ini adalah 1000ms/1 detik). Di dalamnya terdapat script untuk menampilkan waktu sekarang ke dalam komponen textView.  Baris [15] untuk menginisialisasi instance Calendar. Baris [16] untuk memformat tampilan waktu dengan formasi yang didefinisikan pada parameter dibelakangnya. Baris [] dan [] adalah untuk menampilkan string waktu yang sudah diformat ke label textView. Karena semua script ini berada di dalam runnable yang dipanggil oleh Handler.postDelay tiap 1000 ms, maka efeknya adalah perubahan tulisan pada textView sesuai dengan waktu sekarang. Dengan kata lain Anda sedang membuat sebuah jam yang menunjukkan waktu sekarang lengkap dari tahun sampai satuan detik !.

Demikian tutorial mengambil data waktu dan tanggal dari sistem Android menggunakan Java, semoga bermanfaat untuk Anda.

0 0 votes
Article Rating

Leave a Reply

16 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Ran

tanya ya kx.. ini data waktu yg di tampilkn di dpet dri mana?
trus buat manifestnya ada tmbahan user-permission gak?
makasih kx sbelumnya..

Ran

ohh gitu ya kx, makasih kx responnya..
artikelnya membantu banget 😉

Edwin

Gan, kalau mau nampilin hari gimana ea ? Thanks

firdaus

om minta bantuanya kalau mengambil informasi ip adress gmn caranya

Halomoan Carel

mas,,saya mau tanya kalau menjadikan waktu ke string bagaimana yah?
karena saya sedang membuat mobile token yang menggunakan algoritma SHA-1 dengan cara kombinasi password(string) dan time(to string) supaya bisa diproses untuk mendapat kode otentikasi baru trima kasih…

Koko

Mas, kalo mau ngambil nilai tanggalnya aja terus bulan n tahunnya gimna mas ? Sama nilai jam menit detiknya aja mas ? Saya mau pake buat aplikasi waktu sholat. Terima kasih

Koko

Contoh kodenya gimna mas ? Misal Saya mau ngambil tahunnya aja nih mas kmudian sya tambah 10 dan saya mau ambil detiknya aja kmudian saya tambah 10, gimna caranya mas biar ngambil nilai perbagian aja yg selanjutnya saya proses ke perhitungan, terima kasih

aris

mas, kalau misalnya waktu yg di get dari sistem mau di tambah 30 hari itu gimana ya? nanti hasil nya mau di save ke database.

Syarif

Mas punya no Whatsapp ga biar saya bisa nanya Lebih jelas lagi , masalah blog atau apalah nanti saya dan teman teman saya akan menjadi pengikut setia kamu ..

Yudha

mas saya numpang nanya. kalo kita mau menampilkan hasil dari calendarview dengan selectionmode itu gmn caranya ya mas?

16
0
Would love your thoughts, please comment.x
()
x