AGENDA
Tutorials - Android
Mengakses Informasi GPS

Pada bagian ini, anda akan mempelajari bagaimana cara mengakses informasi dari perangkat GPS android.



Pada bagian ini, anda akan mempelajari bagaimana cara mengakses informasi dari perangkat GPS android. Di sini akan diberikan contoh sederhana beserta kodenya.
Buatlah project baru bernama GPS dan buat activitynya bernama GPS.java. Untuk dapat mengakses informasi di perangkat GPS anda perlu memberikan permission untuk mengaksesnya. Permission yang ingin kita tambahkan adalah ACCESS_FINE_LOCATION. Buka AndroidManifest.xml dan buka tab permission. Lalu tekan tombol Add.

Pilihlah Uses Permission. Dan tekan tombol OK.

Pada sebelah kanan akan muncul Attributes for uses permission. Tekan dropdown name-nya dan pilihlah permission yang Anda inginkan. Pada bagian ini dibutuhkan ACCESS_FINE_LOCATION seperti yang telah disebutkan tadi.

Lakukan untuk keduanya. Save, dan lanjutkan dengan membuka layout/main.xml. Di sini kita akan membuat 4 TextView, 2 untuk pemberian label saja yang berisikan text “Sistem:” dan “Status Lokasi:”.
Pengantian text dapat melalui Properties atau pun langsung di kode. TextView sisanya (TextView03 dan TextView04) digunakan untuk output.

Setelah itu save dan lanjutkan dengan membuka GPS.java. Kita harus mengimplementasi LocationListener untuk kelas ini. Maka tambahkanlah implements LocationListener di sebelah extends Activity. Setelah pengimplementasiannya Anda juga butuh untuk mengoverride beberapa methodnya. Berikut adalah kode utuh untuk GPS.java.

package william.wino;

import java.util.List;

import android.app.Activity;
import android.location.Criteria;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.location.LocationProvider;
import android.os.Bundle;
import android.widget.TextView;

public class GPS extends Activity implements LocationListener {

    private static final String[] S = {"Layanan tidak tersedia",
        "Layanan untuk sementara tidak ada", "Layanan tersedia"};
    private TextView output_sistem;
    private TextView output_lokasi;
    private LocationManager locationManager;
    private String bestProvider;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        //Mengambil output user interface
        output_sistem = (TextView) findViewById(R.id.TextView03);
        output_lokasi = (TextView) findViewById(R.id.TextView04);

        //Mengkonstruksi LocationManager
        locationManager = (LocationManager) getSystemService(LOCATION_SERVICE);

        //Mencari Lokasi terakhir yang diketahui
        Location location = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);

        //Print Lokasinya
        printLocation(location);
    }

    @Override
    protected void onResume() {
        super.onResume();
        locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 2000, 1, this);
    }

    @Override
    protected void onPause() {
        super.onPause();
        locationManager.removeUpdates(this);
    }

    //bila lokasi berganti
    public void onLocationChanged(Location location) {
        printLocation(location);
    }

    public void onProviderDisabled(String provider) {
        output_sistem.setText("\nProvider Disabled: " + provider);
    }

    public void onProviderEnabled(String provider) {
        output_sistem.setText("\nProvider Enabled: " + provider);
    }

    public void onStatusChanged(String provider, int status, Bundle extras) {
        output_sistem.setText("Status provider berganti: " + provider + ", Status=" + S[status] + ", Extras=" + extras);
    }

    private String getProviderInfo(String provider) {
        LocationProvider info = locationManager.getProvider(provider);
        return info.toString();
    }

    private void printLocation(Location location) {
        if (location == null) {
            output_lokasi.setText("\nLocation unknown\n\n");
        } else {
            output_lokasi.setText("" + location.toString());
        }
    }
}

Pada kode di atas sudah diberikan bebrapa comments yang dapat membantu Anda untuk mengerti masing-masing bagian program. Kemudian, run emulator Android.



Setelah emulator dijalankan, buka command prompt dan ketikkan perintah berikut
telnet localhost 5554
(konfigurasi di Windows 7: http://www.fettesps.com/windows-7-enable-telnet/)
Perintah di atas adalah untuk koneksi ke android emulatornya.
Lalu kita ingin mengirim koordinat ke android emulatornya dengan cara berikut
geo fix 30 28
berikut adalah screenshotnya

Hasilnya kurang lebih seperti ini.

Aktifasi Command Prompt Telnet Window 7
Untuk mengaktifkan command prompt ikuti langkah berikut:

  1.  Start > Control Panel
  2.  Pilih Program

Pilih Turn Windows features on or off

>Start > Run > cmd

Pada command prompt, ketik telnet localhost 5554

 

Like or Share This Article




COMMENTS ( 0 )
 
Keep connected with us, mobile apps available now !!