Pengenalan Android Location

Pengaksesan lokasi terkini pengguna smartphone Android akan memberikan nilai tambah pada aplikasi untuk memberikan konten yang sesuai dan lebih baik.

LOCATION PERMISSION

?Oleh karena melacak lokasi terkini pengguna bisa menyebabkan masalah privasi, pemanfaatan API lokasi dilindungi oleh beberapa permission. ?Hanya aplikasi dengan permission yang benar saja diijinkan untuk mengakses lokasi pengguna.

?Android menyediakan 2 permission untuk lokasi:

  • ?android.permission.ACCESS_COARSE_LOCATION

mengijinkan aplikasi untuk mengakses perkiraan lokasi dari pengguna. Informasi lokasi didapatkan dari lokasi jaringan, seperti WiFi dan BTS

  • ?android.permission.ACCESS_FINE_LOCATION

mengijinkan aplikasi untuk mengakses lokasi yang tepat dari pengguna. Informasi lokasi didapatkan dari kombinasi GPS dan lokasi jaringan

LOCATION MANAGER

?Developer bisa mengakses ke sensor lokasi pada device melalui Android location service. ?Location service diakses melalui API Location Manager, yang dipanggil dengan cara sebagai berikut:

LOCATION PROVIDER

?Location service bergantung pada location provider untuk mengakses lokasi terkini dari pengguna. ?Android mendukung 3 location provider berikut:

  • ?GPS_PROVIDER

Menentukan lokasi menggunakan satelit GPS. Tergantung dari kondisi lingkungan, provider ini membutuhkan waktu beberapa saat untuk mendapatkan lokasi yang fix dari pengguna. Membutuhkan ACCESS_FINE_LOCATION permission

  • ?NETWORK_PROVIDER

Menentukan lokasi melalui ketersediaan BTS dan WiFi access point. Membutuhkan ACCESS_COARSE_LOCATION permission

  • ?PASSIVE_PROVIDER

Menentukan lokasi tanpa meminta lokasi fix saat ini. Artinya, provider ini bergantung pada lokasi yang pernah diminta oleh aplikasi lainnya. Membutuhkan ACCESS_FINE_LOCATION permission.

MEMERIKSA KETERSEDIAAN LOCATION PROVIDER

?Tidak semua location provider selalu tersedia di setiap waktu. ?Hal ini disebabkan karena  android mengijinkan pengguna untuk menghidupkan atau mematikan location provider melalui menu pengaturan. ?Artinya, location provider tidak bisa digunakan ketika misalnya WiFi pada device android dimatikan atau ketika mode pesawat diaktifkan.

?Untuk itu, diperlukan pengecekan status dari location provider sebagai berikut:

LISTENING STATE CHANGES

?Ketika pengguna memutuskan untuk mematikan atau menghidupkan location provider melalui menu pengaturan, maka aplikasi akan mendapatakan broadcast message dengan aksi android.location.PROVIDERS_CHANGED

?Dengan demikian, aplikasi bisa melakukan aksi berdasarkan event tersebut, misalnya berpindah untuk menggunakan GPS location provider ketika layanan tersebut diaktifkan oleh pengguna.

LOCATION UPDATE

?Android menyediakan cara untuk mendapatkan update lokasi terkini dari pengguna. ?Untuk mendapatkan update lokasi, aplikasi melakukan register pada location listener melalui kelas LocationManager. ?Berikut merupakan contoh untuk implementasi LocationListener.

INFORMASI PADA LOCATION UPDATE

?Objek location pada saat mendapatkan location update mengandung informasi sebagai berikut:

  • ?Accuracy : perkiraan akurasi dalam satuan meter
  • ?Altitude : hasil pengukuran berdasarkan World Geodetic System (WGS) 84 dengan satuan meter
  • ?Bearing : arah / haluan dalam satuan derajat
  • ?Latitude dan longitude : posisi koordinat dalam derajat
  • ?Provider : nama location provider
  • ?Time : waktu

REGISTER UNTUK UPDATE LOKASI

UNREGISTERING

?Oleh karena penggunaan location akan membuat baterai device berkurang secara signifikan, aplikasi sebaiknya melakukan unregister dari location update ketika memang sudah tidak dibutuhkan.

?Caranya adalah:

SINGLE LOCATION UPDATE

?Aplikasi juga bisa hanya meminta single location update pada Android. ?Setelah mendapatkan single location update, fitur lokasi pada device otomatis akan dimatikan.

?Caranya adalah sebagai berikut:

MENGGUNAKAN LAST KNOWN LOCATION

?Untuk mendapatkan lokasi yang fix melalui GPS akan memakan waktu yang cukup lama. ?Oleh karena itu, developer bisa mensiasati waktu yang lama tersebut dengan memanfaatkan last known location untuk mendapatkan lokasi terakhir yang pernah di-request oleh aplikasi Android.

?Caranya adalah:

PENUTUP

?Platform Android menyediakan informasi lokasi kepada aplikasi yang berjalan di atasnya. ?Dalam rangka pemenuhan informasi lokasi, platform Android mendukung penggunaan GPS location provider dan network location provider. ?Atas alasan privasi, aplikasi wajib mendapatkan permission untuk bisa mengakses lokasi terkini dari pengguna

DOWNLOAD PDF

Jika anda tertarik untuk membaca materi ini dalam bentuk powerpoint atau PDF, silahkan download secara GRATIS di sini.

REFERENSI

e-book:  ?Cinar, Onur. 2015. Android Quick APIs Reference. Appres

Comments

comments

Be the first to comment

Leave a Reply

Your email address will not be published.


*