Aplikasi Android untuk mencari dan menyimpan film favorit menggunakan The Movie Database (TMDB) API.
- Tampilan awal saat aplikasi dibuka
- Menampilkan logo aplikasi selama 2.5 detik
- Otomatis berpindah ke MainActivity
- Teknologi: Handler, Intent
- Halaman utama yang menampilkan daftar film populer
- Menggunakan RecyclerView untuk menampilkan daftar film
- Setiap film ditampilkan dalam CardView
- Teknologi: RecyclerView, CardView, Retrofit
- Tampil saat pengguna mengklik film di MainActivity
- Menampilkan detail lengkap film (poster, backdrop, sinopsis, rating, dll)
- Tombol favorit untuk menambah/menghapus film dari favorit
- Teknologi: Intent, ImageView, TextView, ScrollView, Room Database
- Halaman untuk mencari film
- SearchView di bagian atas
- Hasil pencarian ditampilkan dalam RecyclerView
- Teknologi: SearchView, RecyclerView, Retrofit
- Menampilkan daftar film favorit
- Data disimpan di database lokal menggunakan Room
- Teknologi: Room Database, RecyclerView, SQLite
- Kunjungi https://www.themoviedb.org/
- Buat akun gratis
- Pergi ke Settings → API
- Salin API Key (v3 auth)
Buka file: app/src/main/java/com/example/myapplication/api/TMDBApi.java
Ganti baris berikut dengan API Key Anda:
String API_KEY = "YOUR_TMDB_API_KEY_HERE"; // Ganti dengan API key Anda- Buka Android Studio
- Klik "Sync Project with Gradle Files"
- Tunggu hingga semua dependencies terdownload
- Sambungkan perangkat Android atau gunakan emulator
- Klik tombol "Run" di Android Studio
- Aplikasi akan terinstall dan berjalan
app/src/main/java/com/example/myapplication/
├── adapters/
│ ├── MovieAdapter.java # Adapter untuk RecyclerView film
│ └── FavoriteMovieAdapter.java # Adapter untuk RecyclerView favorit
├── api/
│ ├── TMDBApi.java # Interface API TMDB
│ └── RetrofitClient.java # Client Retrofit
├── database/
│ ├── AppDatabase.java # Room Database
│ ├── FavoriteMovie.java # Entity untuk favorit
│ └── FavoriteMovieDao.java # DAO untuk operasi database
├── models/
│ ├── Movie.java # Model data Film
│ └── MovieResponse.java # Model response API
├── SplashActivity.java # Aktivitas Splash Screen
├── MainActivity.java # Aktivitas Utama
├── MovieDetailActivity.java # Aktivitas Detail Film
├── SearchActivity.java # Aktivitas Pencarian
└── FavoritesActivity.java # Aktivitas Favorit
- AndroidX: AppCompat, Material Design
- RecyclerView: Untuk menampilkan daftar
- CardView: Untuk tampilan kartu film
- Retrofit: HTTP client untuk API calls
- Gson: JSON converter
- Glide: Image loading library (optimized)
- Room: Database lokal
- OkHttp: Network optimization
Aplikasi telah dioptimasi untuk performa yang lebih ringan:
- ✅ ProGuard/R8: Mengurangi ukuran APK ~40%
- ✅ Resource Shrinking: Hapus resource tidak terpakai
- ✅ Image Format RGB_565: Hemat memori 50%
- ✅ RecyclerView Caching: Scroll lebih smooth
- ✅ Glide Disk Cache: Loading lebih cepat
- ✅ Memory Management: Auto cleanup saat low memory
- ✅ Network Timeout: Optimasi koneksi
Data film menggunakan API dari The Movie Database (TMDB).