79
Activities & Intents Pertemuan 2 - TI735 Seng Hansun, S.Si., M.Cs.

2-Activities & Intents

Embed Size (px)

DESCRIPTION

2-Activities & Intents

Citation preview

Activities &

Intents Pertemuan 2 - TI735

Seng Hansun, S.Si., M.Cs.

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

Activities

Pertemuan 2 - TI735

Activities

Pertemuan 2 - TI735

Activity’s Life Cycle

Pertemuan 2 - TI735

http://developer.android.com/training/basics/activity-lifecycle/starting.html

Example

Pertemuan 2 - TI735

Example

Pertemuan 2 - TI735

First loaded

Back clicked

Example

Pertemuan 2 - TI735

Apps reloaded

Phone clicked

Phone exited

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

Example

Pertemuan 2 - TI735

Example

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

Example

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

Example

Pertemuan 2 - TI735

Example

Pertemuan 2 - TI735

Example

Pertemuan 2 - TI735

Example

Pertemuan 2 - TI735

Example

Pertemuan 2 - TI735

Example

Pertemuan 2 - TI735

Example

Pertemuan 2 - TI735

Example

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

Example

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.

Example

Pertemuan 2 - TI735

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

Example

Pertemuan 2 - TI735

Example

Pertemuan 2 - TI735

Example

Pertemuan 2 - TI735

Example

Pertemuan 2 - TI735

Example

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

Example

Pertemuan 2 - TI735

Example

Pertemuan 2 - TI735

Example

Pertemuan 2 - TI735

Example

Pertemuan 2 - TI735

Example

Pertemuan 2 - TI735

Example

Pertemuan 2 - TI735

Example

Pertemuan 2 - TI735

Example

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

Example

Pertemuan 3 - TI735

Example

Pertemuan 3 - TI735

Example

Pertemuan 3 - TI735

Example

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>

Example

Pertemuan 3 - TI735

Menggunakan contoh project yang sama dengan yang sebelumnya.

Example

Pertemuan 3 - TI735

Example

Pertemuan 3 - TI735

Example

Pertemuan 3 - TI735

Example

Pertemuan 3 - TI735

Example

Pertemuan 3 - TI735

Example

Pertemuan 3 - TI735

Example

Pertemuan 3 - TI735

Example

Pertemuan 3 - TI735

Example

Pertemuan 3 - TI735

Collision

Pertemuan 3 - TI735

Collision

Pertemuan 3 - TI735

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

Example

Pertemuan 3 - TI735

Adding Categories

Kita dapat mengelompokkan activities ke dalam categories dengan menggunakan elemen <category> di dalam intent filter.

Pertemuan 3 - TI735

Adding Categories

Pertemuan 3 - TI735

successful crash

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

Example

Pertemuan 3 - TI735

Example

Pertemuan 3 - TI735

Example

Pertemuan 3 - TI735

Example

Pertemuan 3 - TI735

Example

Pertemuan 3 - TI735

Example

Pertemuan 3 - TI735

Example

Pertemuan 3 - TI735

Example

Pertemuan 3 - TI735

Title & text

Action btns

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