Android Project Files
Pengantar Struktur Proyek Aplikasi Android
Apa Itu Android Project?
Proyek aplikasi Android terdiri dari beberapa file sumber daya dan konfigurasi yang digunakan untuk membuat aplikasi berbasis Android. Dalam proses pengembangan, developer perlu memahami bagaimana file-file tersebut bekerja dan diatur.
1. AndroidManifest.xml – Inti Konfigurasi Aplikasi
Definisi
AndroidManifest.xml adalah file utama dalam proyek Android yang berisi informasi penting tentang aplikasi, seperti:
- Nama paket aplikasi
- Versi aplikasi
- Aktivitas utama (
MainActivity) - Izin yang diperlukan (permissions)
- Komponen aplikasi lainnya:
Service,BroadcastReceiver,ContentProvider
Contoh Isi AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.aplikasiperdana">
<uses-permission android:name="android.permission.INTERNET"/>
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@style/Theme.AplikasiPerdana">
<activity
android:name=".MainActivity"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>Elemen Penting dalam AndroidManifest.xml
| Elemen | Fungsi |
|---|---|
<manifest> | Elemen utama yang membungkus semua informasi aplikasi |
<uses-permission> | Mendeklarasikan izin yang dibutuhkan aplikasi |
<application> | Berisi properti aplikasi seperti ikon, tema, dan aktivitas |
<activity> | Mendefinisikan setiap layar aplikasi |
<intent-filter> | Menentukan cara aktivitas bisa diakses atau dijalankan |
💡 Tips Belajar: Pastikan semua izin yang digunakan benar-benar diperlukan untuk menjaga keamanan aplikasi.
2. Uses-Permission – Kontrol Akses Fitur Perangkat
Apa Itu Uses-Permission?
Digunakan untuk mendeklarasikan hak akses aplikasi terhadap fitur atau data tertentu di perangkat pengguna.
Jenis-Jenis Izin Umum
| Izin | Deskripsi |
|---|---|
INTERNET | Mengizinkan akses internet |
ACCESS_FINE_LOCATION | Mengakses lokasi akurat menggunakan GPS |
CAMERA | Menggunakan kamera perangkat |
READ_EXTERNAL_STORAGE | Membaca data dari penyimpanan eksternal |
SEND_SMS | Mengirim SMS dari perangkat |
Contoh Deklarasi Izin
<uses-permission android:name="android.permission.CAMERA"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>⚠️ Catatan: Di Android 6.0+ (API level 23), izin runtime harus diminta saat aplikasi berjalan, bukan hanya dideklarasikan di manifest.
3. Drawable – Sumber Daya Grafis
Definisi
Drawable adalah file grafis yang digunakan dalam antarmuka pengguna aplikasi Android, seperti gambar statis (PNG, JPG) atau bentuk vektor.
Jenis-Jenis Drawable
| Jenis | Penjelasan |
|---|---|
| Bitmap Drawable | Untuk menampilkan gambar seperti PNG atau JPG |
| Shape Drawable | Membuat bentuk seperti kotak, lingkaran dengan XML |
| Layer List Drawable | Menggabungkan beberapa drawable dalam satu tampilan |
| State List Drawable | Tampilan berubah sesuai kondisi (misalnya tombol ditekan) |
| Vector Drawable | Gambar berbasis vektor yang responsif di semua ukuran layar |
Contoh Penggunaan Shape Drawable
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<solid android:color="#FF5722"/>
<size android:width="100dp" android:height="100dp"/>
</shape>💡 Tips Belajar: Simpan semua file drawable di folder
res/drawable.
4. TextView – Menampilkan Teks Statis
Definisi
Komponen UI untuk menampilkan teks statis kepada pengguna. Biasanya tidak bisa diedit oleh pengguna.
Karakteristik
- Tidak bisa diedit (berbeda dengan
EditText) - Bisa menampilkan teks dengan format HTML atau hyperlink
- Dapat dikustomisasi warna, gaya, dan ukuran teks
Implementasi pada XML
<TextView
android:id="@+id/tulisan"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Selamat Datang di Aplikasi Kami"
android:textColor="#211C84"
android:textSize="16sp"
android:textStyle="bold"
android:gravity="center"
android:padding="16dp"
android:background="#7A73D1"/>5. EditText – Input Teks oleh Pengguna
Definisi
Komponen UI yang memungkinkan pengguna memasukkan atau mengedit teks.
Karakteristik
- Mendukung input teks biasa, angka, email, password, dll.
- Memiliki atribut
hintsebagai panduan input - Bisa dikonfigurasi batas karakter
Implementasi pada XML
<EditText
android:id="@+id/input_nama"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Masukkan nama Anda"
android:inputType="text"
android:textSize="16sp"
android:maxLength="50"/>6. Button – Tombol Interaktif
Definisi
Elemen UI yang dapat diklik untuk menjalankan suatu aksi, seperti mengirim data atau berpindah halaman.
Karakteristik
- Menjalankan aksi saat ditekan
- Dapat dikustomisasi warna, teks, dan bentuk
- Bisa dinonaktifkan dengan
android:enabled="false"
Implementasi pada XML
<Button
android:id="@+id/btn_kirim"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Kirim"
android:textSize="16sp"
android:layout_margin="16dp"/>7. ImageView – Menampilkan Gambar
Definisi
Komponen UI untuk menampilkan gambar atau ikon dalam aplikasi.
Karakteristik
- Mendukung format PNG, JPG, GIF, WebP
- Bisa dikustomisasi skala, rotasi, dan transparansi
- Mendukung animasi dasar
Implementasi pada XML
<ImageView
android:id="@+id/logo_app"
android:layout_width="100dp"
android:layout_height="100dp"
android:src="@drawable/logo_uin"
android:scaleType="centerInside"/>Ringkasan: Struktur Dasar Proyek Android
| Folder | Kegunaan |
|---|---|
res/layout | File XML untuk antarmuka pengguna (UI) |
res/drawable | Gambar dan shape drawable |
res/values | File strings.xml, colors.xml, styles.xml |
java/ | File Java/Kotlin untuk logika aplikasi |
AndroidManifest.xml | File konfigurasi utama aplikasi |
Kesimpulan
Memahami struktur proyek Android sangat penting dalam pengembangan aplikasi mobile. Beberapa poin penting:
- AndroidManifest.xml adalah file inti yang menyimpan informasi aplikasi.
- Uses-permission harus dikelola dengan hati-hati untuk keamanan dan privasi.
- Drawable digunakan untuk menampilkan gambar dan bentuk visual.
- TextView, EditText, Button, dan ImageView adalah elemen UI dasar yang sering digunakan dalam desain antarmuka.