ACTIVITY, EVENT HANDLING, INTENT Farah Zakiyah Rahmanti, M.T Diperbarui 2016
Universitas Dian Nuswantoro
Overview
Activity Life Cycle Activity Life Cycle Life Cycle Methods Event Handling Intent & Intent Filter
Universitas Dian Nuswantoro
Activity
Semua tampilan yang memungkinkan interaksi dengan user.
Komponen terkecil penyusun Android App yang berisi satu kegiatan yang dapat dilakukan oleh pengguna.
Sebuah applikasi sering membutuhkan lebih dari satu activity, untuk menghubungkan antar activity dapat digunakan intent. Universitas Dian Nuswantoro
Life Cycle
Tahapan tahapan yang dijalankan oleh aplikasi.
Life cycle didefinisikan dalam bentuk abstraks, harus diterapkan oleh semua aplikasi, sehingga operating system dapat mejalankan proses spesifik yang sudah ditentukan dalam tahapan tahapan aplikasi tersebut.
Universitas Dian Nuswantoro
Activity Life Cycle
Universitas Dian Nuswantoro
Activity Life Cycle
Sebuah activity paling tidak memiliki tiga kondisi : Active / running Paused Stopped
Universitas Dian Nuswantoro
Activity Life Cycle
Universitas Dian Nuswantoro
Life Cycle Event
Jika sebuah activity dalam kondisi paused/stopped, maka sistem dapat menghapus dari memori dengan memanggil method finish() terlebih dahulu, atau prosesnya dapat dimatikan secara paksa. Ketika sebuah activity ditampilkan lagi kepada user, maka activity tersebut harus di-restart dan dikembalikan ke kondisi sebelumnya. Method transisi :
Universitas Dian Nuswantoro
Life Cycle Method
onCreate() onPause() onDestroy() onStart() onResume() onRestart()
Universitas Dian Nuswantoro
onCreate()
Method ini dipanggil ketika activity pertama kali dibuat. Method ini selalu diikuti oleh method onStart().
Universitas Dian Nuswantoro
onRestart()
Method ini dipanggil setelah sebuah activity dihentikan, sebelum activity dimulai lagi. Method ini selalu diikuti oleh method onStart().
Universitas Dian Nuswantoro
onStart()
Method ini dipanggil sebelum activity tersebut dapat tampil kepada pengguna. Diikuti oleh method onResume() jika activity berjalan di foreground. Diikuti oleh method onStop() jika activity tidak berjalan di foreground.
Universitas Dian Nuswantoro
onResume()
Method ini dipanggil sebelum activity memulai interaksi dengan user. Activity berada paling atas dari sebuah activity stack. Method ini selalu diikuti oleh method onPause().
Universitas Dian Nuswantoro
onPause()
Method ini dipanggil ketika sistem akan memulai melanjutkan activity lain. Method ini biasanya digunakan untuk menyimpan data, menghentikan animasi, dll. Diikuti oleh method onResume(), jika activity kembali dijalankan. Diikuti oleh method onStop(), jika activity tidak ditampilkan lagi ke user. Activity pada kondisi ini dapat dihentikan paksa oleh sistem.
Universitas Dian Nuswantoro
onStop()
Method ini dipanggil ketika activity sudah tidak ditampilkan lagi kepada user. Diikuti method onRestart(), jika activity kembali berinteraksi dengan user. Diikuti method onDestroy(), jika activity tidak berinteraksi dengan user. Sistem dapat mematikan secara paksa.
Universitas Dian Nuswantoro
onDestroy()
Method ini dipanggil sebelum activity dihancurkan. Berbeda dengan method isFinishing(), digunakan pada saat kondisi activity dihentikan oleh sistem.
Universitas Dian Nuswantoro
Killable States
Activity pada kondisi killable states berarti activity dapat dihentikan oleh sistem kapan saja, tanpa mengeksekusi baris lain pada kode activity tersebut.
Terdapat tiga method yang dapat dihentikan oleh sistem : onPause(), onStop(), onDestroy().
Hanya method onPause() yang dijamin akan dipanggil sebelum proses dihentikan. Oleh karena itu, programmer seharusnya menggunakan method onPause() untuk menulis data persisten (penyimpanan data).
Universitas Dian Nuswantoro
Event Handling
Event sangat berguna untuk mengumpulkan data mengenai interaksi pengguna dengan komponen dari aplikasi mobile yang dibuat, seperti menekan tombol atau layar sentuh dll.
onClick onFocusChange onKey onTouch onCreateContextMenu dll
Universitas Dian Nuswantoro
Android Event Management
Event Listener Event Listener Registration Event Handler
Universitas Dian Nuswantoro
Event Listener & Event Handler
Universitas Dian Nuswantoro
Event Handling
Terdapat banyak sekali event listener lainnya seperti onHoverListener, onDragListener dll yang mana semua itu belum tentu dibutuhkan untuk pembuatan aplikasi androidmu.
Sehingga direkomendasikan untuk melihat dokumentasi resmi android aplication development.
Universitas Dian Nuswantoro
Intent
Universitas Dian Nuswantoro
Intent
Perpindahan dari sebuah activity satu ke activity lain dengan meminta activity yang saat ini berjalan untuk mengeksekusi intent.
Intent dipanggil dengan menggunakan opsi berikut ini :
Universitas Dian Nuswantoro
Intent
Argument dari sebuah intent :
Universitas Dian Nuswantoro
Intent
Biasanya intent dipanggil seperti contoh berikut :
Universitas Dian Nuswantoro
Intent
Contoh action dan data :
Universitas Dian Nuswantoro
Intent
Universitas Dian Nuswantoro
Intent
Menampilkan phone dialler dengan diberikan nomer telepon.
Universitas Dian Nuswantoro
Intent – Secondary Attribute
Selain atribut data primer, ada sejumlah atribut sekunder yang dapat disertakan seperti : kategori, komponen, jenis, ekstra.
Contoh : melakukan pencarian di Google dengan kata kunci “straight hitting golf clubs”
Universitas Dian Nuswantoro
Intent – Secondary Attribute
Contoh : mengirimkan sebuah pesan.
Intent intent= new Intent( Intent.ACTION_SENDTO, Uri.parse("sms://")); intent.putExtra("address", "555-1234"); intent.putExtra("sms_body", "remember to buy bread and milk"); startActivity(intent);
Universitas Dian Nuswantoro
Intent - Secondary Attribute
Contoh : menampilkan gambar
Intent myIntent = new Intent(); myIntent.setType("image/pictures/*"); myIntent.setAction(Intent.ACTION_GET_CONTENT); startActivity(myIntent);
Universitas Dian Nuswantoro
Intent
Activity 1 : menampilkan sebuah antarmuka untuk menerima panggilan.
Activity 2 : menampilkan sebuah antarmuka untuk melakukan panggilan.
Universitas Dian Nuswantoro
Intent
Activity 1 : menampilkan sebuah antarmuka untuk menerima panggilan.
Activity 2 : menampilkan sebuah antarmuka untuk melakukan panggilan.
Universitas Dian Nuswantoro
Intent
Activity 1 : menampilkan sebuah antarmuka untuk menerima panggilan.
Activity 2 : menampilkan sebuah antarmuka untuk melakukan panggilan.
Universitas Dian Nuswantoro
Intent
Activity 1 : menampilkan sebuah antarmuka untuk menerima panggilan.
Activity 2 : menampilkan sebuah antarmuka untuk melakukan panggilan.
Universitas Dian Nuswantoro
Intent
Activity 1 : menampilkan sebuah antarmuka untuk menerima panggilan.
Activity 2 : menampilkan sebuah antarmuka untuk melakukan panggilan.
Universitas Dian Nuswantoro
Intent
Activity 1 : menampilkan sebuah antarmuka untuk menerima panggilan.
Activity 2 : menampilkan sebuah antarmuka untuk melakukan panggilan.
Universitas Dian Nuswantoro
Intent
Universitas Dian Nuswantoro
Intent - Using Standard Actions
Call Immediately
Memodifikasi contoh sebelumnya ‘ClickHandler’ dengan code berikut :
serta
String myData= "tel:555-1234"; Intent myActivity2 = new Intent(Intent.ACTION_CALL, Uri.parse(myData)); startActivity(myActivity2);
Universitas Dian Nuswantoro
mengganti
method
Intent - Using Standard Actions
Menampilkan seluruh kontak telepon.
Universitas Dian Nuswantoro
Intent - Using Standard Actions
Menampilkan kontak ID = 2.
Universitas Dian Nuswantoro
Intent - Using Standard Actions
Mengedit kontak ID = 2.
Universitas Dian Nuswantoro
Intent - Using Standard Actions
Menampilkan sebuah halaman web.
Universitas Dian Nuswantoro
Intent - Using Standard Actions
Geo Mapping an Address
Menyediakan ekspresi geoCode.
String geoCode= "geo:0,0?q=1860+east+18th+street+cleveland+oh"; Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(geoCode)); startActivity(intent);
Universitas Dian Nuswantoro
Getting Permission
Universitas Dian Nuswantoro
Intent Filter
Analogi : Requesting Actions Using HTTP and Android
Universitas Dian Nuswantoro
Universitas Dian Nuswantoro
Intent Filter
Universitas Dian Nuswantoro
Intent Filter
Universitas Dian Nuswantoro
Daftar Pustaka
http://www.tutorialspoint.com/android/android_ event_handling.htm http://developer.android.com/index.html Victor Matos, “Android Intents”, Cleveland State University. Victor Matos, “Android Intent Filters”, Cleveland State University.
Universitas Dian Nuswantoro