Activity, Event Handling, intent
Oleh : Farah Zakiyah Rahmanti, M.T Diperbarui 2017
[email protected] / Universitas Dian Nuswantoro
Overview
Activity
Life Cycle
Activity Life Cycle
Life Cycle Methods
Event Handling
Intent & Intent Filter
[email protected] / Universitas Dian Nuswantoro
Activity (1)
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.
[email protected] / Universitas Dian Nuswantoro
Activity (2)
Contoh activity dan intent
[email protected] / Universitas Dian Nuswantoro
Activity Life Cycle
[email protected] / 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.
[email protected] / Universitas Dian Nuswantoro
Activity Life Cycle
Sebuah activity paling tidak memiliki tiga kondisi :
Active / running
Paused
Stopped
[email protected] / Universitas Dian Nuswantoro
Activity Life Cycle
[email protected] / 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 :
[email protected] / Universitas Dian Nuswantoro
Life Cycle Method
onCreate()
onPause()
onDestroy()
onStart()
onResume()
onRestart()
[email protected] / Universitas Dian Nuswantoro
onCreate()
Method ini dipanggil ketika activity pertama kali dibuat.
Method ini selalu diikuti oleh method onStart().
[email protected] / Universitas Dian Nuswantoro
onRestart()
Method ini dipanggil setelah sebuah activity dihentikan, sebelum activity dimulai lagi.
Method ini selalu diikuti oleh method onStart().
[email protected] / 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.
[email protected] / 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().
[email protected] / 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.
[email protected] / 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.
[email protected] / Universitas Dian Nuswantoro
onDestroy()
Method ini dipanggil sebelum activity dihancurkan.
Berbeda dengan method isFinishing(), digunakan pada saat kondisi activity dihentikan oleh sistem.
[email protected] / 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).
[email protected] / Universitas Dian Nuswantoro
Event Handling
[email protected] / 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
[email protected] / Universitas Dian Nuswantoro
Android Event Management
Event Listener
Event Listener Registration
Event Handler
[email protected] / Universitas Dian Nuswantoro
Event Listener & Event Handler
[email protected] / 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.
[email protected] / Universitas Dian Nuswantoro
Intent
[email protected] / 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 :
[email protected] / Universitas Dian Nuswantoro
Intent
Argument dari sebuah intent :
[email protected] / Universitas Dian Nuswantoro
Intent
Biasanya intent dipanggil seperti contoh berikut :
[email protected] / Universitas Dian Nuswantoro
Intent
Contoh action dan data :
[email protected] / Universitas Dian Nuswantoro
Intent
[email protected] / Universitas Dian Nuswantoro
Intent
Menampilkan phone dialler dengan diberikan nomer telepon.
[email protected] / 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”
[email protected] / 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);
[email protected] / 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);
[email protected] / Universitas Dian Nuswantoro
Intent
Activity 1 : menampilkan sebuah antarmuka untuk menerima panggilan.
Activity 2 : menampilkan sebuah antarmuka untuk melakukan panggilan.
[email protected] / Universitas Dian Nuswantoro
Intent
Activity 1 : menampilkan sebuah antarmuka untuk menerima panggilan.
Activity 2 : menampilkan sebuah antarmuka untuk melakukan panggilan.
[email protected] / Universitas Dian Nuswantoro
Intent
Activity 1 : menampilkan sebuah antarmuka untuk menerima panggilan.
Activity 2 : menampilkan sebuah antarmuka untuk melakukan panggilan.
[email protected] / Universitas Dian Nuswantoro
Intent
Activity 1 : menampilkan sebuah antarmuka untuk menerima panggilan.
Activity 2 : menampilkan sebuah antarmuka untuk melakukan panggilan.
[email protected] / Universitas Dian Nuswantoro
Intent
Activity 1 : menampilkan sebuah antarmuka untuk menerima panggilan.
Activity 2 : menampilkan sebuah antarmuka untuk melakukan panggilan.
[email protected] / Universitas Dian Nuswantoro
Intent
Activity 1 : menampilkan sebuah antarmuka untuk menerima panggilan.
Activity 2 : menampilkan sebuah antarmuka untuk melakukan panggilan.
[email protected] / Universitas Dian Nuswantoro
Intent
[email protected] / Universitas Dian Nuswantoro
Intent - Using Standard Actions
Call Immediately
Memodifikasi contoh sebelumnya serta mengganti method ‘ClickHandler’ dengan code berikut :
String myData= "tel:555-1234"; Intent myActivity2 = new Intent(Intent.ACTION_CALL, Uri.parse(myData)); startActivity(myActivity2);
[email protected] / Universitas Dian Nuswantoro
Intent - Using Standard Actions
Menampilkan seluruh kontak telepon.
[email protected] / Universitas Dian Nuswantoro
Intent - Using Standard Actions
Menampilkan kontak ID = 2.
[email protected] / Universitas Dian Nuswantoro
Intent - Using Standard Actions
Mengedit kontak ID = 2.
[email protected] / Universitas Dian Nuswantoro
Intent - Using Standard Actions
Menampilkan sebuah halaman web.
[email protected] / 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);
[email protected] / Universitas Dian Nuswantoro
Getting Permission (1)
Diletakkan di dalam file AndroidManifest.xml
app/manifests/AndroidManifest.xml
<uses-permission android:name="android.permission.INTERNET" />
[email protected] / Universitas Dian Nuswantoro
Getting Permission (2)
[email protected] / Universitas Dian Nuswantoro
Intent Filter
Analogi : Requesting Actions Using HTTP and Android
[email protected] / Universitas Dian Nuswantoro
[email protected] / Universitas Dian Nuswantoro
Intent Filter
[email protected] / Universitas Dian Nuswantoro
Intent Filter
[email protected] / 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.
[email protected] / Universitas Dian Nuswantoro