Belajar Android - Pengenalan GPS Android

1
7:31 PM
Sekarang kita akan belajar menggunakan fitur yang sangat berguna yaitu GPS (Global Positionning System).
Hampir Semua Handphone ber OS android dilengkapi GPS, sebetulnya apasih GPS itu ???
GPS adalah singkatan dari Global Positionning System, dengan GPS kita dapat mengetahui lokasi kita berada yaitu data koordinat Latitude dan Longitudenya. Bagi yang pernah membuat aplikasi yang menggunakan MAP (Geography Information System) pasti sudah mengenal istilah ini.
GPS hanyalah hardware, untuk memaksimalkannya kita perlu membuat aplikasi yang memanfaatkan GPS.
Ada pertanyaan nih, setelah mengetahui fungsi GPS, kira-kira aplikasi apa yang akan kita bangun ?
Ingat Social networking FourSquare, dimana pada foursquare kita dapat mengetahui posisi teman-teman kita yang sedang online, sehingga apabila ada yang jaraknya dekat dengan kita maka kita bisa copy darat.
Sekarang kita masuk kemateri utama, mulailah belajar dengan pertanyaan
  1. Bagaimanakah cara mendapatkan Lokasi kita saat ini dengan menggunakan GPS di android ?
  2. Bagaimanakah cara menampilkannya dalam bentuk MAP ?
Kita akan jawab dengan pembuatan Aplikasi Android LokasiKu.
1. Seperti biasa kita buat project baru
2. Pada project ini kita akan menampilkan posisi Koordinat yang ditangkap oleh GPS. Untuk itu kita siapkan layoutnya, buka file main.xml tuliskan kode berikut :
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>

 
 
 
 

3. Setelah Layout kita perlu menambahkan permission pada file AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>

    
        
            
                
                
            
        

    

    
    
 
 


penambahannya ada pada line 14,15 dan 16
5. Sekarang kita kebagian inti yaitu dibagian javanya, buka file LokasiKu.java  ketikkan kode berikut
package com.agus;

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.TextView;
import android.widget.Toast;

public class Lokasiku extends Activity {

 private LocationManager lm;
 private LocationListener locationListener;
 private TextView latituteField;
 private TextView longitudeField;

 /** Called when the activity is first created. */
 @Override
 public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.main);
  latituteField = (TextView) findViewById(R.id.TextViewLatitude);
  longitudeField = (TextView) findViewById(R.id.TextViewLongitude);
  // ---use the LocationManager class to obtain GPS locations---
  lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE);

  locationListener = new MyLocationListener();

  lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, locationListener);
 }

 /**
  * Listener Untuk Menangkap setipa perbubahan Lokasi dari GPS
  *
  *
  */
 private class MyLocationListener implements LocationListener {
  //Menampilkan Update Lokasi GPS terkini
  @Override
  public void onLocationChanged(Location loc) {
   if (loc != null) {
    latituteField.setText(String.valueOf(loc.getLatitude()));
    longitudeField.setText(String.valueOf(loc.getLongitude()));

    Toast.makeText(
      getBaseContext(),
      "Location changed : Lat: " + loc.getLatitude()
        + " Lng: " + loc.getLongitude(),
      Toast.LENGTH_SHORT).show();
   }
  }

  @Override
  public void onProviderDisabled(String provider) {
   // TODO Auto-generated method stub
  }

  @Override
  public void onProviderEnabled(String provider) {
   // TODO Auto-generated method stub
  }

  @Override
  public void onStatusChanged(String provider, int status, Bundle extras) {
   // TODO Auto-generated method stub
  }
 }

}
Untuk menangkap nilai yang dihasilkan oleh GPS android kita menggunakan class LocationManager dan LocationListenner.
Agar setiap terjadi perubahan lokasi, aplikasi kita terus mendapatkan informasi terkini, maka kita perlu membuat inner class yang mengimplement class LocationListenner. Pada program diatas informasi GPS yang berupa letak Latitude dan Longitude posisi kita, di tampilakn pada 2 buah textView. Selain itu kita tampilkan juga dalam bentuk Toast.
Sekarang mari kita jalankan projectnya
Hasilnya masih unknown, lho kok bisa unknown, ia karena nilai defultnya kita set “unknown”, coba perhatikan di file main.xml
Sekarang mari kita coba update lokasinya, Kalau di eclipse kita bisa menggunakan emulator control. Apabila jendela Emulation Control belum ada, kita bisa menampilkannya dengan cara klik Window –> Show View –>Other
Pilih Emulator Control lalu klik OK
Pada Jendela Emulator Kontrol kita bisa set Longitude dan Latitude GPSnya, Karena saya tinggal dijakarta, isikan saja Longitude =106.85324 dan Latitute=-6.23326
Klik tombol Send
Kembali ke Emulator Android dan lihat apa yang terjadi
Sekarang Nilai Longitude dan Latitude nya sudah terisi, sesuai dengan Nilai yang kita berikan di emulator control.
Coba kita rubah lagi nilai longitude dan Latitude pada Emulator Control lalu klik tombol send maka pada emulator android nilai dari longitude dan latitudenya juga akan berubah sesuai dengan nilai yang ada di emulator control
Sampai disini kita baru setengah jalan, kita baru berhasil mendapatkan koordinatnya. Tujuan kita adalah menampilkan Lokasi kita sekarang dalam MAP. Untuk langkah selanjutnya akan dibahas pada tutorial selanjutnya.


Terima Kasih. :)

- andre -

Sumber : http://agusharyanto.net/wordpress/?p=258

About the author

Hanya Pecinta Seni ~
Tukang kode ~

1 comment: