Activity Lifecycle Pada Android

Activity merupakan class di android yang menampilkan user interface pada layar. Selama aplikasi berjalan, sebuah Activity dalam melalui salah satu dari keempat status berikut:

 

Source: codepolitan.com

 

Activity biasanya punya 6 method utama dalam daur hidupnya yaitu onCreate(), onStart(), onResume(), onPause(), onStop(), dan onDestroy(). Masing-masing dari method tersebut punya peranan sendiri, di antaranya :

 

  • onCreate() : dipanggil pertama kali ketika activity berhasil di created
  • onStart() : dipanggil ketika activity sudah terlihat di layar
  • onResume() : dipanggil ketika mulai berinteraksi dengan pengguna
  • onPause() : dipanggil ketika pengguna meninggalkan activity
  • onStop() : dipanggil ketika activity tidak terlihat di layar
  • onDestroy() : dipanggil sebelum activity sampai proses terakhir (final process)

 

Setelah memahami singkat mengenai daur hidup aplikasi, mari kita mencoba menerapkannya. Setelah kita membuat project TwoActivity pada postingan sebelumnya, kita tambahkan method-method utama diatas. Cara sederhananya adalah dengan melakukan override method.

Code->Override Methods

 

 

Pilih method yang akan di export, kemudian klik “ok”

 

Secara otomatis methodnya akan ter generate.

Pada method onCreate tambahkan Log attribute berikut

Log.d(LOG_TAG, “——-“);

Log.d(LOG_TAG, “onCreate”);

 

Kemudian tambahkan Log statement pada tingkat debugging pada setiap method, seperti berikut:

 

Pada class Second, tambahkan attribute

private static final String LOG_TAG =     SecondActivity.class.getSimpleName();

Dan tambahkan Logstatement berikut pada method returReply()

Log.d(LOG_TAG, “End SecondActivity”);

 

Kemudian lakukan hal yang sama untuk menambahkan beberapa method seperti pada class main

Kemudian jalankan project, jika berhasil akan muncul message pada log statement

 

 

Dalam berbagai scenario, sebuat activity berhenti atau di musnahkan dengan berbagai cara. Bisa jadi merupakan proses yang kita inginkan, atau bisa jadi karena berada pada background process sebab tidak dijalankan pada waktu yang lama sehingga menyebabkan activity tersebut di destroy oleh sistem dengan sendirinya. Hal yang harus kita perhatikan disini adalah ketika kita akan membuat sebuah proses pada sistem adalah bagaimana sistem tersebut mengerti bahwa sebuah activity tersebut kapan harus dihancurkan. Misalnya saja ketika kita melakukan rotate, tanpa kita sadari hal tersebut merupakan salah satu perubahan status dan pengaturan pada sistem tampilan. Bila kita tidak cermat, aktivitas sekecil apapun bisa saja akan menghilangkan data temporary user dan kembali pada tampilan default. Maka dari itu kita harus memahami konsep save and restore.

 

Save

Saat aktivitas mulai berhenti, sistem akan memanggil onSaveInstanceState() sehingga aktivitas kita bisa menyimpan informasi status bersama kumpulan pasangan valuekey nya. Implementasi default metode ini menyimpan informasi tentang status hierarki tampilan aktivitas itu, misalnya teks di widget EditText atau posisi gulir ListView

Pertama kita tambahkan method onSaveInstanceState(), kita bisa melakukan override method seperti bagian sebelumnya. Kemudian isi method tersebut seperti berikut:

 

Restore

Setelah kita tadi menyimpan instance aktivitas, kita juga perlu mengembalikannya saat aktivitas diciptakan kembali. Kita dapat melakukan ini di onCreate (), atau dengan menerapkan callback onRestoreInstanceState (), yang dipanggil setelah onStart () setelah aktivitas dibuat.

Tambahkan kode berikut pada method onCreate()

 

You may also like...

Leave a Reply

Your email address will not be published. Required fields are marked *