Sample Android app demonstrating the usage of Nusantara Data library - a Kotlin Multiplatform library for Indonesia location data.
- Location Picker - Cascading dropdown untuk memilih Provinsi → Kota → Kecamatan → Kelurahan → Kode Pos
- Smart Search - Cari lokasi dengan typo-tolerant search (contoh: "Jakrta" → "Jakarta")
- Postal Code Lookup - Reverse lookup alamat lengkap dari kode pos
- Statistics - Lihat statistik data lokasi Indonesia
| Home | Location Picker | Search |
|---|---|---|
![]() |
![]() |
![]() |
| Postal Code | Statistics |
|---|---|
![]() |
![]() |
- Android Studio Hedgehog (2023.1.1) or later
- JDK 17+
- Android SDK 24+ (Android 7.0 Nougat)
- Clone repository
git clone https://github.com/naufalprakoso/Sample-Android-Nusantara-Data.git-
Open project di Android Studio
-
Sync Gradle dan Run
// Nusantara Data Library
implementation("io.github.naufalprakoso.nusantara:data:1.0.2")app/src/main/kotlin/com/example/nusantarasample/
├── MainActivity.kt # Main entry point
├── NusantaraSampleApp.kt # Application class (initialize library)
├── screens/
│ ├── HomeScreen.kt # Home menu
│ ├── LocationPickerScreen.kt # Cascading location picker
│ ├── SearchScreen.kt # Smart search
│ ├── PostalCodeScreen.kt # Postal code lookup
│ └── StatisticsScreen.kt # Data statistics
└── ui/theme/
├── Color.kt
└── Theme.kt
class NusantaraSampleApp : Application() {
override fun onCreate() {
super.onCreate()
// Initialize synchronously to ensure data is ready before UI starts
runBlocking {
NusantaraData.initialize()
}
}
}val provinces = NusantaraData.getAllProvinces()// 1. Get provinces
val provinces = NusantaraData.getAllProvinces()
// 2. Get cities by province
val cities = NusantaraData.getCitiesByProvinceId(selectedProvince.id)
// 3. Get districts by city
val districts = NusantaraData.getDistrictsByCityId(selectedCity.id)
// 4. Get villages by district
val villages = NusantaraData.getVillagesByDistrictId(selectedDistrict.id)// Typo-tolerant search
val results = NusantaraData.searchCities("Jakrta") // Returns "Jakarta"val locations = NusantaraData.getLocationByPostalCode("10110")
// Returns full address: Gambir, Gambir, Kota Jakarta Pusat, DKI JakartaCopyright 2026 Naufal Prakoso
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
- Nusantara Data Library - Main library repository




