Mengembangkan aplikasi Android dengan fungsi GPS (Sistem Pemosisian Global) memungkinkan Anda membuat aplikasi yang melacak lokasi pengguna secara real-time. Fitur ini berguna di banyak aplikasi seperti peta, navigasi, atau pelacakan lokasi. Berikut langkah-langkah untuk membuat aplikasi Android dengan fitur GPS.
Persiapan
Sebelum memulai, pastikan Anda telah menggunakan Android Studio dan proyek baru untuk dikembangkan. Periksa juga apakah perangkat Android Anda memiliki akses GPS.
Tambahkan izin di AndroidManifest.xml
Aplikasi yang menggunakan GPS memerlukan izin untuk mengakses lokasi pengguna. Tambahkan izin berikut ke AndroidManifest.xmlfile untuk mengakses lokasi perangkat:
<menggunakan-izin android:nama=”android.izin.ACCESS_FINE_LOCATION” />
<menggunakan-izin android:nama=”android.izin.ACCESS_COARSE_LOCATION” />
Izin ini memastikan bahwa aplikasi Anda dapat menggunakan GPS dan sumber daya lokasi lainnya.
Akses lokasi dengan FusedLocationProviderClient
Android menawarkan PenyediaLokasiFusedKlien sebagai API yang lebih efisien untuk akses lokasi. Ke PenyediaLokasiFusedKlien Untuk menggunakannya, pertama tambahkan dependensi ke membangun.gradle-mengajukan:
implementasi ‘com.google.android.gms:play-services-location:18.0.0’
Kemudian buatlah sebuah PenyediaLokasiFusedKlien-Objek dalam aktivitas Anda:
FusedLocationProviderClient fusedLocationClient = LocationServices.getFusedLocationProviderClient(ini);
Mengambil lokasi pengguna
Untuk mendapatkan lokasi pengguna, Anda dapat menggunakan metode dapatkanLokasiTerakhir() dari PenyediaLokasiFusedKlien menggunakan. Metode ini mengembalikan lokasi terakhir perangkat yang diketahui.
fusedLocationClient.dapatkanLokasiTerakhir()
.addOnSuccessListener(ini, new OnSuccessListener<Lokasi>() {
@Mengesampingkan
publik void onSuccess(Lokasi lokasi) {
jika (lokasi != null) {
// Menampilkan lokasi pengguna
lintang ganda = lokasi.getLatitude();
bujur ganda = lokasi.getLongitude();
// Gunakan koordinat lintang dan bujur sesuai kebutuhan
}
}
{ {{nama pengguna}}});
Metode ini mengembalikan lokasi terakhir yang diketahui. Untuk mendapatkan lokasi yang lebih akurat atau real-time, Anda dapat permintaanPembaruanLokasi() yang memungkinkan Anda menerima pembaruan lokasi secara berkala.
Tampilkan lokasi di peta
Untuk menampilkan lokasi pada peta, Anda dapat menggunakan Google Maps API. Untuk melakukan ini, Anda perlu mengonfigurasi Google Maps di Google Cloud Console dan menambahkan kunci API ke proyek Anda.
Pertama, tambahkan ketergantungan untuk Google Maps di membangun.gradle-mengajukan:
implementasi ‘com.google.android.gms:play-services-maps:17.0.0’
Kemudian buat peta di aktivitas Anda dan tunjukkan lokasi pengguna:
DukunganMapFragment mapFragment = (SupportMapFragment) dapatkanSupportFragmentManager()
.findFragmentById(R.id.peta);
mapFragment.getMapAsync(ini);
@Mengesampingkan
publik void onMapReady(GoogleMap googleMap) {
LatLng userLocation = new LatLng(lintang, bujur);
googleMap.addMarker(new MarkerOptions().position(userLocation).title(“Lokasi Anda”));
googleMap.moveCamera(CameraUpdateFactory.newLatLngZoom(lokasipengguna, 15));
}
Menangani perubahan lokasi
Jika Anda ingin menerima pembaruan lokasi secara real-time, Anda dapat permintaanPembaruanLokasi() menggunakan. Berikut adalah contoh bagaimana Anda dapat mengimplementasikannya:
PermintaanLokasi permintaanLokasi = PermintaanLokasi.buat();
lokasiRequest.setInterval(10000); // Mengatur interval pembaruan
lokasiRequest.setFastestInterval(5000); // Tetapkan interval pembaruan tercepat
locationRequest.setPriority(LocationRequest.PRIORITAS_AKURASI_TINGGI);
fusedLocationClient.requestLocationUpdates(permintaanlokasi, panggilanbaliklokasi, Looper.getMainLooper());
Dengan LokasiPanggilan Balik Aplikasi Anda secara otomatis menerima pembaruan lokasi.
Minta izin lokasi di Android 6.0 dan yang lebih tinggi
Dimulai dengan Android 6.0 (API Level 23), Anda harus meminta izin lokasi secara dinamis. Berikut cara melakukannya:
jika (ContextCompat.checkSelfPermission(ini, Manifest.izin.ACCESS_FINE_LOCATION)
!= PackageManager.IZIN_DIBERIKAN) {
ActivityCompat.requestPermissions(ini,
String baru[]{Manifest.izin.ACCESS_FINE_LOCATION}, 1);
}
Hentikan pembaruan lokasi saat tidak lagi diperlukan
Untuk menghemat baterai, pastikan Anda menghentikan pembaruan lokasi saat aplikasi Anda tidak lagi memerlukan informasi lokasi. Anda dapat menerima pembaruan lokasi dengan hapusPembaruanLokasi() sekering:
fusedLocationClient.removeLocationUpdates(panggilanlokasi);
Kesimpulan
Tutorial ini akan menunjukkan cara membuat aplikasi Android yang menggunakan GPS untuk mendapatkan lokasi pengguna secara real time. Anda dapat mengembangkan aplikasi lebih lanjut dengan menambahkan fitur seperti peta interaktif atau pelacakan lokasi untuk tujuan yang berbeda. Ingatlah untuk selalu meminta izin dengan benar dan gunakan baterai secara efisien.