Menambah permission di AndroidManifest.xml
Untuk dapat mengakses GPS, kita perlu menambahkan permission di AndroidManifest.xml.
Jika permission tidak dicantumkan, aplikasi yang akan dibuat tidak bisa berjalan.
Berikut adalah kode AndroidManifest.xml yang telah dimodifikasi.
File : AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.gpssample"
android:versionCode="1"
android:versionName="1.0">
<uses-sdk android:minSdkVersion="8" />
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".GPSSample"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
</manifest>
Menambahkan LocationListener
Di fungsi onLocationChanged inilah nilai latitude dan longitude lokasi pengguna akan diterima oleh objek LocationListener. Untuk saat ini, lokasi geografis yang dibaca akan ditampilkan menggunakan Toast.
Implementasi dari tahap ini adalah inner class MyLocationListener berikut :
/**
* MyLocationListener
*/
public class MyLocationListener implements LocationListener{
// Dipanggil saat ada perubahan lokasi geografis pengguna
@Override
public void onLocationChanged(Location location) {
// Mendapatkan nilai latitude dari lokasi terbaru
double latitude = location.getLatitude();
// Mendapatkan nilai longitude dari lokasi terbaru
double longitude = location.getLongitude();
// Menampilkan lokasi terbaru menggunakan Toast
String message = "Lokasi saat ini :\n" +
"Latitude = " + latitude + "\n" +
"Longitude = " + longitude;
Toast.makeText(getApplicationContext(),
message, Toast.LENGTH_LONG).show();
}
// Dipanggil saat provider dinon-aktifkan oleh pengguna
@Override
public void onProviderDisabled(String provider) {
String message = "GPS disabled";
Toast.makeText(getApplicationContext(),
message, Toast.LENGTH_LONG).show();
}
// dipanggil saat provider diaktifkan oleh pengguna
@Override
public void onProviderEnabled(String provider) {
String message = "GPS enabled";
Toast.makeText(getApplicationContext(),
message, Toast.LENGTH_LONG).show();
}
// dipanggil saat ada perubahan status pada provider
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
// TODO Auto-generated method stub
}
Tahap selanjutnya adalah menginisiasikan LocationManager dan LocationListener di aplikasi kita.
Pada kasus ini, keduanya diinisiasi di method onCreate dari activity utama aplikasi kita.
Dengan demikian, pada saat activity dijalankan, aplikasi kita akan meminta layanan lokasi yang diperlukan.
// Inisiasi LocationManager dan LocationListener
LocationManager myLocationManager =
(LocationManager)getSystemService(Context.LOCATION_SERVICE);
LocationListener myLocationListener = new MyLocationListener();
myLocationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,
0, 0, myLocationListener);
Berikut adalah kode lengkap dari activity utama aplikasi yang dibuat :
File : GPSSample.java
<pre>package com.example.gpssample;
import android.app.Activity;
import android.content.Context;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
import android.widget.Toast;
public class GPSSample extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// Inisiasi LocationManager dan LocationListener
LocationManager myLocationManager =
(LocationManager)getSystemService(Context.LOCATION_SERVICE);
LocationListener myLocationListener = new MyLocationListener();
myLocationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,
0, 0, myLocationListener);
}
/**
* MyLocationListener
*/
public class MyLocationListener implements LocationListener{
// Dipanggil saat ada perubahan lokasi geografis pengguna
@Override
public void onLocationChanged(Location location) {
// Mendapatkan nilai latitude dari lokasi terbaru
double latitude = location.getLatitude();
// Mendapatkan nilai longitude dari lokasi terbaru
double longitude = location.getLongitude();
// Menampilkan lokasi terbaru menggunakan Toast
String message = "Lokasi saat ini :\n" +
"Latitude = " + latitude + "\n" +
"Longitude = " + longitude;
Toast.makeText(getApplicationContext(),
message, Toast.LENGTH_LONG).show();
}
// Dipanggil saat provider dinon-aktifkan oleh pengguna
@Override
public void onProviderDisabled(String provider) {
String message = "GPS disabled";
Toast.makeText(getApplicationContext(),
message, Toast.LENGTH_LONG).show();
}
// dipanggil saat provider diaktifkan oleh pengguna
@Override
public void onProviderEnabled(String provider) {
String message = "GPS enabled";
Toast.makeText(getApplicationContext(),
message, Toast.LENGTH_LONG).show();
}
// dipanggil saat ada perubahan status pada provider
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
// TODO Auto-generated method stub
}
}
}
Cara Menjalankannya
Pertama-tama, kita masuk ke DDMS. (Pilih Window – Open Perspective – DDMS).
Kemudian kita debug aplikasi yang kita buat. Kemudian, pilih tab Emulation Control.
Di bagian ini terdapat bagian Location Controls.
Pertama-tama, kita masuk ke DDMS. (Pilih Window – Open Perspective – DDMS).
Kemedian kita debug aplikasi yang kita buat. Kemudian, pilih tab Emulation Control.
Di bagian ini terdapat bagian Location Controls.
-.Isi angka longitude dan latitude nya
Selesai dan selamat mencoba
Tumpol S Simarmata (09111003046)
Hasil berupa longitude dan latitude

Tidak ada komentar:
Posting Komentar