Mengenal Struktur Aplikasi Android: Aktivitas, Fragmen, dan Broadcast Receiver

Manfaat Menggunakan Fragment

Fragment memberikan beberapa manfaat utama dalam pengembangan aplikasi Android:

  1. Modularitas: Dengan membagi Activity menjadi beberapa Fragment, Anda dapat mengelola setiap bagian antarmuka secara terpisah, yang mempermudah pengembangan dan pemeliharaan kode.
  2. Fleksibilitas: Fragment memungkinkan penampilan beberapa bagian antarmuka dalam satu Activity, sangat berguna untuk perangkat dengan layar besar seperti tablet.
  3. Reusability: Fragment dapat digunakan kembali di berbagai Activity, mengurangi pengulangan kode dan meningkatkan efisiensi pengembangan.
  4. Adaptabilitas: Fragment memudahkan penyesuaian antarmuka untuk berbagai ukuran layar dan orientasi perangkat.

Contoh Penggunaan Fragment  di  Aplikasi E-commerce:

  • Fragment Pertama: Menampilkan daftar produk di sisi kiri layar.
  • Fragment Kedua: Menampilkan detail produk di sisi kanan layar.
  • Di ponsel, hanya satu Fragment yang ditampilkan pada satu waktu, sedangkan di tablet, kedua Fragment dapat ditampilkan bersamaan.

Cara Kerja Fragment

Fragment memiliki siklus hidup yang mirip dengan Activity, termasuk metode seperti onCreateView(), onStart(), dan onDestroyView(). Namun, siklus hidup Fragment terkait dengan Activity yang menampilkannya.

Anda bisa menambahkan Fragment ke dalam Activity dengan menggunakan FragmentManager dan FragmentTransaction.

FragmentManager fragmentManager = getSupportFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.add(R.id.fragment_container, new MyFragment());
fragmentTransaction.commit();

Fragment tidak dapat saling berkomunikasi secara langsung. Sebagai alternatif, komunikasi dilakukan melalui Activity yang menampung Fragment tersebut atau dengan menggunakan antarmuka (interface) untuk mentransfer data.

3. Intent: Mekanisme Komunikasi Antar Komponen

Intent merupakan salah satu mekanisme kunci dalam pengembangan aplikasi Android. Komponen ini berfungsi untuk memulai Activity, Service, atau mengirim Broadcast. Selain itu, Intent juga memungkinkan komunikasi antara komponen dalam aplikasi yang sama atau bahkan antar aplikasi yang berbeda.

Intent dapat dibedakan menjadi:

  • Eksplisit: Memanggil komponen tertentu (seperti Activity atau Service) dengan menyebutkan nama kelasnya secara langsung.
  • Implisit: Menyatakan tindakan yang ingin dilakukan atau jenis data yang ingin diproses, dan sistem Android akan memilih komponen yang paling sesuai.

Jenis-Jenis Intent

1. Explicit Intent

Explicit Intent digunakan ketika Anda mengetahui dengan jelas komponen mana yang ingin dipanggil, seperti Activity atau Service tertentu dalam aplikasi Anda.

Cara Kerja:

Anda menyebutkan nama kelas komponen yang ingin diakses. Contohnya, memulai Activity baru untuk menampilkan detail produk.

Intent intent = new Intent(this, ProductDetailActivity.class);
startActivity(intent);

Contoh Penggunaan:

  • Memulai Activity baru untuk menampilkan formulir login.
  • Memulai Service untuk mengunduh file di latar belakang.

2. Intent Implicit

Intent Implicit digunakan saat Anda ingin meminta sistem Android untuk memilih komponen yang paling sesuai berdasarkan tindakan atau jenis data yang Anda tentukan.

Cara Kerja:

Anda menetapkan tindakan (seperti ACTION_VIEW) dan data (seperti URI atau tipe MIME) yang ingin diproses. Sistem Android akan mencari komponen yang dapat menangani permintaan tersebut.

Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(“https://www.example.com”));
startActivity(intent);

Contoh Penggunaan:

  • Membuka URL di browser default pengguna.
  • Membagikan teks atau gambar ke aplikasi lain (seperti media sosial atau email).
  • Memilih aplikasi untuk membuka file PDF.

Perbedaan Explicit dan Implicit Intent

AspekExplicit IntentImplicit Intent
TujuanMemanggil komponen tertentu dalam aplikasi.Meminta sistem untuk memilih komponen yang sesuai.
PenggunaanDigunakan untuk navigasi internal aplikasi.Digunakan untuk berinteraksi dengan aplikasi lain atau komponen sistem.
ContohMemulai Activity detail produk.Membuka URL di browser atau membagikan konten.

Artikel Terbaru