Android Dasar

Pertemuan #4: Activity dan Intent

Activity

Sebuah Activity merupakan komponen dari sebuah aplikasi yang merepresentasikan sebuah window, sebuah hierarki dari views. Activity bukan saja merupakan sebuah komponen yang dapat mengisi layar, tetapi juga dapat disisipkan dalam Activity lain atau muncul sebagai floating window. Sebuah Activity ditulis dalam sebuah kelas Java atau Kotlin, biasanya terdapat satu Activity dalam satu berkas.

Activity berguna merepresentasikan sebuah aktivitas, seperti: memesan belanjaan, mengirim email, atau melihat arah. Selain itu dapat juga digunakan untuk menghandel interaksi pengguna, seperti: klik tombol, mengisi teks, atau memverifikasi login. Activity berguna juga untuk dapat memulai activity lain dalam aplikasi yang sama atau berbeda. Sebagai sebuah komponen, Activity memiliki siklus hidup, yaitu is created, started, runs, is paused, resumed, stopped, dan destroyed.

Mendefinisikan sebuah Activity 

Untuk mendefinisikan sebuah Activity pada sebuah aplikasi, setidaknya terdapat 4 langkah yang dilakukan:

  1. Definisikan layout dalam berkas XML
  2. Definisikan Activity dalam kelas Java
    • extends AppCompatActivity
  3. Hubungkan Activity dengan Layout 
    • Atur tampilan konten pada onCreate()
  4. Deklarasikan Activity dalam Android manifest

Memulai sebuah Activity baru dengan sebuah Intent

Dalam Activity, sebuah Intent adalah deskripsi dari sebuah operasi yang akan dilakukan selanjutnya oleh Android terhadap permintaan dari sebuah Activity. Intent merupakan sebuah objek yang digunakan untuk meminta sebuah aksi dari app component lain melalui sistem Android. Terdapat dua cara memulai Activity melalui Intent, yaitu Explicit Intent dan Implicit Intent.

Explicit intent digunakan untuk memulai sebuah Activity yang sudah teridentifikasi secara jelas. Biasanya dilakukan untuk mengaktivasi Activity lain dalam sebuah aplikasi yang sama. Contohnya memulai Activity ViewShoppingCart dari MainActivity.

Berbeda dengan explicit intent, Implicit intent biasanya digunakan untuk memulai Activity yang belum spesifik yang dapat dilakukan oleh lebih dari satu Activity, baik dalam aplikasi yang sama maupun berbeda. Dalam prosesnya Activity akan meminta sistem Android untuk menemukan sebuah Activity yang dapat memenuhi permintaan Activity tersebut. Salah satu contohnya adalah proses berbagi gambar dengan mengklik tombol Share.

Mengirimkan data antar-activity dengan extras

Data dapat dikirimkan ketika memulai Activity melalui penyisipan di dalam Intent. bentuknya dapat berupa data Uniform Resource Identifier (URI) seperti URL dan berupa extras, pasangan key-value. Pengiriman data ini dapat berasal baik dari Activity pertama ke Activity kedua, maupun sebaliknya.

Menavigasi antar-activity

Ketika sebuah Activity dimulai, Activity sebelumnya akan diberhentikan, dan disimpan di dalam Activity back stack. Prinsip yang digunakan dalam proses ini adalah Last-in-first-out-stack—ketika Activity saat ini berakhir, atau pengguna menekan tombol Back, Activity tsb akan dikeluarkan dari tumpukan dan Activity sebelumnya dikembalikan.

Terdapat dua jenis penavigasian dalam Android, yaitu temporer (back navigation) dan ansestral (up navigation). Back navigation disediakan secara default oleh gawai Android. Dia dikendalikan melalui sistem back stack yang terdapat pada Android.

Up navigation disediakan oleh tombol up pada action bar sebuah aplikasi. Pengaturannya dapat dilakukan pada berkas Android Manifest dengan mendefinisikan hungan parent-child antara Activity yang memiliki keterikatan.

Comments

Related posts