LAB_WEEK_07 - Android Permissions and Google Maps Integration
Link Google Drive
Keseluruhan Project : https://drive.google.com/drive/u/5/folders/1SG861oaEIigBs_CWF0WK0AMb1laPAFgn
Images & Screenshots : https://drive.google.com/drive/u/5/folders/1TmUx9vU5Ju0_YNDTnNfei237CrtPrWEa
APK File : https://drive.google.com/drive/u/5/folders/1dO4st3EEnEPEpBpBomcIIOA1TIce8_93
Commit History
Commit No. 1 - Basic Google Maps Setup and Permissions
Commit No. 2 - Runtime Permissions Handling
Commit No. 3 - Secure API Key Management with Secrets Gradle Plugin
Fitur Aplikasi
- Google Maps Integration - Menampilkan peta interaktif Google Maps dengan marker
- Android Runtime Permissions - Request permission lokasi secara dinamis saat runtime
- Secure API Key Management - Penyimpanan API Key yang aman menggunakan secrets.properties
- Location Services - Akses lokasi device dengan berbagai level akurasi
- Dual-Activity Architecture - MainActivity sebagai launcher dan MapsActivity untuk peta
- Permission Handling Flow - UX yang baik untuk permission requests
Android Permissions Implementation
- Manifest Permissions - Deklarasi permissions di AndroidManifest.xml
- Runtime Permissions - Request permissions secara dinamis di runtime
- Permission Results Handling - Callback untuk menangani user response
Google Maps Features
- Map Fragment - Embed Google Maps dalam activity
- Current Location Marker - Menampilkan lokasi user saat ini
- Camera Controls - Zoom, pan, dan rotate peta
- Default Location - Jakarta sebagai fallback location
- Map Ready Callback - Handle map initialization
Keamanan & Best Practices
- Secure API Key Storage - Menggunakan secrets.properties (excluded dari Git)
- Secrets Gradle Plugin - Secure management untuk sensitive data
- Permission Best Practices - Request permissions hanya ketika diperlukan
- Graceful Degradation - Handle scenario ketika permission denied
- ProGuard Obfuscation - Protection untuk production builds
Teknologi yang Digunakan
- Android Studio & Kotlin
- Google Maps SDK for Android - Maps services integration
- Google Play Services Location - Location APIs
- Secrets Gradle Plugin - Secure configuration management
- Material Design Components - Modern UI/UX
- ViewBinding - Type-safe view references
- AndroidX Libraries - Modern Android development