Upload
michael-aditya-sutiono
View
46
Download
1
Embed Size (px)
DESCRIPTION
2-Activities & Intents
Citation preview
Reviews
Apa Itu Android?
Versi Android dan fitur-fiturnya
Arsitektur Android
Berbagai perangkat Android di pasaran
Android Market apps store
Tools dan SDK aplikasi Android
Aplikasi Android sederhana
Pertemuan 2 - TI735
Objectives
Activity
Styles dan Themes pada Activities
Intents
Memanggil Built-in Apps dengan Intents
Intent Object & Intent Filters
Menambah Categories
Menampilkan Notifikasi
Pertemuan 2 - TI735
Activities
Activity adalah sebuah jendela yang berisi antarmuka pengguna dari suatu aplikasi.
Sebuah aplikasi dapat memiliki 0 atau lebih activities.
Dari saat sebuah activity muncul di layar hingga saat activity tersebut hilang, terdapat sejumlah tahapan yang dilalui, yang dinamakan activity’s life cycle.
Dalam membuat sebuah activity, dibutuhkan sebuah Java class yang extends Activity base class.
Pertemuan 2 - TI735
Activity’s Life Cycle
Pertemuan 2 - TI735
http://developer.android.com/training/basics/activity-lifecycle/starting.html
Menerapkan Theme
Secara default, sebuah activity akan mengambil keseluruhan layar.
Namun, jika ingin membuat sebuah activity menjadi seperti sebuah kotak dialog, dapat diterapkan suatu dialog theme.
Caranya dengan sedikit mengubah elemen <Activity> di dalam file AndroidManifest.xml dengan menambahkan atribut android:theme.
Pertemuan 2 - TI735
Menghilangkan Judul Activity
Selain menerapkan dialog theme, kita dapat menyembunyikan judul dari sebuah activity agar tidak kelihatan di layar aplikasi.
Untuk itu, gunakan method requestWindowFeature() dan teruskan di dalamnya Window.FEATURE_NO_TITLE constant.
Pertemuan 2 - TI735
Linking Activities using Intents
Suatu aplikasi Android dapat terdiri atas 0 atau lebih activities.
Bila aplikasi yang dibangun memiliki lebih dari 1 activity, seringkali diperlukan cara untuk bernavigasi dari 1 activity ke activity lainnya.
Di Android, bernavigasi antara 1 activity ke activity lainnya dilakukan dengan menggunakan intent.
Pertemuan 2 - TI735
Intent Filter Collision
Elemen <intent-filter> mendefinisikan bagaimana cara activity yang satu dipanggil oleh activity lainnya.
Apa yang terjadi bila activity yang lain (baik di dalam aplikasi yang sama atau yang berbeda) memiliki nama filter yang sama?
Pertemuan 2 - TI735
Example
Pertemuan 2 - TI735
Jika dipilih salah satu activity untuk ditampilkan sebagai default (always), maka selanjutnya tidak akan ditampilkan lagi kotak dialog pemilihan seperti sebelumnya.
Untuk menghapus activity default tersebut, buka menu Settings → Apps → pilih nama aplikasi (misal, Contoh Intent) → scroll down dan klik tombol Clear defaults.
Returning Result from an Intent
Method startActivity() memanggil activity yang lain, namun tidak mengembalikan suatu nilai ke activity sebelumnya.
Jika Anda perlu mengirimkan data kembali dari suatu activity, maka gunakanlah method startActivityForResult().
Pertemuan 2 - TI735
Passing Data using an Intent Object
Selain mengembalikan data dari suatu activity, kerap kali dibutuhkan cara untuk mengirimkan data ke suatu activity lainnya.
Untuk itu, dapat digunakan suatu intent object.
Pertemuan 2 - TI735
Calling Built-in Apps using Intents
Kita telah mempelajari cara untuk memanggil activities di dalam aplikasi yang dibangun.
Salah satu aspek penting lainnya adalah cara menggunakan intent untuk memanggil activities dari aplikasi lainnya.
Aplikasi yang kita bangun dapat memanggil beragam aplikasi built-in lainnya yang telah disertakan dalam sebuah perangkat Android.
Pertemuan 3 - TI735
Understanding the Intent Object
Beberapa cara pemanfaatan intent object.
Pertemuan 3 - TI735
startActivity(new Intent(“ti735.week3.SecondActivity”));
startActivity(new Intent(this, SecondActivity.class));
Component name
Understanding the Intent Object
Pertemuan 3 - TI735
Intent i = new Intent(android.content.Intent.ACTION_VIEW,
Uri.parse(“http://www.amazon.com”));
startActivity(i);
action
data
Intent i = new Intent(“android.intent.action.VIEW”);
i.setData(Uri.parse(“http://www.amazon.com”));
Intent i = new Intent(android.content.Intent.ACTION_PICK);
i.setType(ContactsContract.Contacts.CONTENT_TYPE);
Suatu object intent dapat mengandung informasi: Action, Data, Type, Category.
Using Intent Filters
Kita telah mengetahui bagaimana suatu activity dapat memanggil activity lainnya dengan menggunakan intent object.
Jangan lupa pada AndroidManifest.xml:
Pertemuan 3 - TI735
<intent-filter>
<action android:name=“ti735.contoh.SecondActivity” />
<category android:name=“android.intent.category.DEFAULT” />
</intent-filter>
createChooser()
Bila terdapat beberapa activities yang sesuai dengan intent object yang dibuat, maka kotak dialog “Complete action using” akan muncul.
Kita dapat mengubah kalimat judul yang ditampilkan pada kotak dialog tersebut dengan createChooser() method dari class Intent.
Keuntungan dengan menggunakan createChooser() adalah bila tidak ada activity yang sesuai yang dipanggil oleh intent object, maka aplikasi tidak akan crash, tapi menampilkan pesan bahwa tidak ada aplikasi yang dapat menjalankan action tersebut.
Pertemuan 3 - TI735
Adding Categories
Kita dapat mengelompokkan activities ke dalam categories dengan menggunakan elemen <category> di dalam intent filter.
Pertemuan 3 - TI735
Displaying Notifications
Notification adalah suatu pesan yang dapat ditampilkan kepada user di luar UI normal aplikasi.
Untuk membuat notifications digunakan NotificationManager class yang dapat diperoleh dari Context, seperti suatu activity atau service, melalui getSystemService() method.
Notification.Builder menyediakan suatu builder interface untuk membuat suatu notification.
PendingIntent digunakan untuk menentukan aksi yang harus dilakukan saat user memilih notification tersebut.
Pertemuan 3 - TI735
Next
Menggunakan Fragments untuk Mengatur UI
Fragment’s Life Cycle
Interaksi Antar Fragments
Specialized Fragments
Pertemuan 2 - TI735
Referensi
Lee, W-M., 2012, Beginning Android 4 Application Development, John Wiley & Sons, Inc.: USA.
http://developer.android.com/training/basics/activity-lifecycle/starting.html
http://www.mkyong.com/android/android-alert-dialog-example/
http://developer.android.com/guide/topics/ui/dialogs.html
http://www.mkyong.com/android/android-progress-bar-example/
Pertemuan 2 - TI735