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

7. Application Manifest: Glue yang Menyatukan Aplikasi

Application Manifest adalah file XML yang berfungsi sebagai “lem” yang menyatukan semua komponen aplikasi Android. File ini mendefinisikan struktur aplikasi, termasuk ActivityServiceBroadcast ReceiverContent Provider, serta izin yang diperlukan oleh aplikasi.

Peran Penting Application Manifest

1. Mendefinisikan Komponen Aplikasi:

  • Activity: Mendefinisikan layar atau antarmuka pengguna.
  • Service: Mendefinisikan proses latar belakang.
  • Broadcast Receiver: Mendefinisikan komponen yang merespons pesan sistem.
  • Content Provider: Mendefinisikan mekanisme berbagi data.

Contoh definisi Activity di AndroidManifest.xml:

<activity android:name=“.MainActivity”>
    <intent-filter>
        <action android:name=“android.intent.action.MAIN” />
        <category android:name=“android.intent.category.LAUNCHER” />
    </intent-filter>
</activity>

2. Mendeklarasikan Izin:

  • Aplikasi Android memerlukan izin untuk mengakses fitur tertentu, seperti kamera, lokasi, atau internet.
  • Izin ini dideklarasikan di AndroidManifest.xml.

Contoh deklarasi izin:

<uses-permission android:name=“android.permission.CAMERA” />
<uses-permission android:name=“android.permission.INTERNET” />

3. Mendefinisikan Metadata Aplikasi:

  • Application Manifest juga berisi informasi seperti nama aplikasi, ikon, tema, dan versi.

Contoh metadata aplikasi:

<application
    android:name=“.MyApplication”
    android:icon=“mipmap/ic_launcher”
    android:label=“string/app_name”
    android:theme=“style/AppTheme”>
</application>

8. Application Resources: Aset untuk Antarmuka Pengguna

Aplikasi Android menyimpan sumber daya seperti string, gambar, font, dan tata letak UI dalam direktori /res. Sumber daya ini dikelola secara terpisah dari kode program, memungkinkan Anda untuk dengan mudah menyesuaikan aplikasi untuk berbagai perangkat, bahasa, dan orientasi layar.

Jenis-Jenis Sumber Daya

1. String: Teks yang digunakan dalam aplikasi, seperti judul, pesan, atau label.

Disimpan di res/values/strings.xml.

Contoh:

<string name=“app_name”>My App</string>
<string name=“welcome_message”>Welcome to My App!</string>

2. Gambar: Aset visual seperti ikon, gambar latar belakang, atau ilustrasi.

Disimpan di res/drawable/ atau res/mipmap/.

Contoh: ic_launcher.png, background.jpg.

3. Tata Letak (Layout): File XML yang mendefinisikan struktur antarmuka pengguna.

Disimpan di res/layout/.

Contoh: activity_main.xml, fragment_detail.xml.

4. Warna: Definisi warna yang digunakan dalam aplikasi.

Disimpan di res/values/colors.xml.

Contoh:

<color name=“primary_color”>6200EE</color>
<color name=“secondary_color”>03DAC6</color>

5. Dimensi: Ukuran dan padding yang digunakan dalam tata letak.

Disimpan di res/values/dimens.xml.

Contoh:

<dimen name=“padding_small”>8dp</dimen>
<dimen name=“text_size_large”>24sp</dimen>

Mengakses Sumber Daya melalui Kelas R

Saat aplikasi dikompilasi, Android secara otomatis menghasilkan kelas R yang berisi referensi ke semua sumber daya yang didefinisikan di direktori /res. Anda dapat mengakses sumber daya ini melalui kelas R dalam kode program.

Contoh Mengakses String:

String appName = getString(R.string.app_name);

Contoh Mengakses Gambar:

ImageView imageView = findViewById(R.id.my_image_view);
imageView.setImageResource(R.drawable.ic_launcher);

Contoh Mengakses Tata Letak:

setContentView(R.layout.activity_main);

Kesimpulan

Dengan memahami komponen utama seperti Activity, Fragment, Intent, dan Service, Anda dapat membangun aplikasi Android yang lebih efisien, modular, dan mudah dikelola. Setiap komponen memiliki peran khusus yang memungkinkan aplikasi berfungsi dengan baik, baik di latar depan (foreground) maupun latar belakang (background).

Selain itu, komponen seperti Broadcast Receiver dan Content Provider memungkinkan aplikasi Anda merespons perubahan sistem dan berbagi data dengan aplikasi lain.

Dengan memanfaatkan Application Manifest dan Application Resources, Anda dapat mendefinisikan struktur aplikasi dan mengelola aset seperti string, gambar, dan tata letak dengan lebih terorganisir.

Artikel Terbaru