Latitude sendiri memliki pengertian sebagai garis lintang (garis khayal yang digunakan untuk menetukan lokasi dibumi terhadap garis khatulistiwa (horizontral). Sedangkan longitude adalah garis bujur (garis khayal yang digunakan untuk menentukan lokasi dibumi terhadap garis meridian (vertical).
Setelah membuat project baru langkah pertama adalah menambahkan uses permission pada android manifest.xml nya.
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
Kedua script ini yang wajib ada ketika kita ingin mengakses internet didalam applikasi kita, yang dimasudkan meminta izin/permission kepada applikasi.
Manifeset.xml secara keseluruhan
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.exampl.latitude" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="18" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name="com.exampl.latitude.MainActivity" 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> </manifest>
Langkah kedua adalah memanbahkan TextView pada layoutnya.
Menggunakan linier layout
<linearlayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" android:orientation="vertical" tools:context=".MainActivity" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/hello_world" /> <textview android:id="@+id/TextView01" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Longitute"/> <textview android:id="@+id/TextViewLongitute" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="unknow"/> <textview android:id="@+id/TextView03" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Latitude"/> <textview android:id="@+id/TextViewLatitude" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="unknow"/> </LinearLayout>
Langkah ketiga adalah menambahkan script dan libery pada main_activity.java
Agar aplikasi yang kita buat dapat berhubungan dengan GPS, kita memerlukan LocationManager dan LocationListener. LocationManager menyediakan akses ke layanan lokasi di Android. Salah satu layanan yang tersedia adalah update lokasi geografis dari perangkat yang digunakan. LocationManager akan mengabarkan setiap perubahan lokasi geografis kepada LocationListener. LocationListener inilah yang nantinya akan kita ubah sesuai dengan kebutuhan kita.
Hal di atas dapat diimplementasikan dalam dua langkah. Pertama, kita buat sebuah class yang mengimplementasikan LocationListener (LocationListener adalah sebuah interface). Ada empat buah method yang harus diimplementasikan, yaitu :
onLocationChanged dipanggil saat posisi geografis pengguna mengalami perubahan,
onProviderDisabled dipanggil saat provider dinon-aktifkan oleh pengguna,
onProviderEnabled dipanggil saat provider diaktifkan oleh pengguna,
onStatusChange dipanggil saat ada perubahan status pada provider.
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.
Berikut adalah kode main_activity.java
package com.exampl.latitude;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
import android.app.Activity;
import android.content.Context;
import android.view.Menu;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends Activity {
private LocationManager in;
private LocationListener LocationListener;
private TextView LatitudeField;
private TextView LongitudeField;
public Object loc;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
LatitudeField = (TextView)findViewById(R.id.TextViewLatitude);
LongitudeField = (TextView)findViewById(R.id.TextViewLongitute);
in = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
LocationListener = new MyLocationListener();
in.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0 ,0,LocationListener);
}
public class MyLocationListener implements LocationListener {
@Override
public void onLocationChanged(Location arg0) {
// TODO Auto-generated method stub
if (loc != null){
LatitudeField.setText(String.valueOf( ((Location) loc).getLatitude()));
LongitudeField.setText(String.valueOf(((Location) loc).getLongitude()));
Toast.makeText(getBaseContext(), "Location changed :Lat "+ ((Location) loc).getLatitude() + ((Location) loc).getLongitude(), Toast.LENGTH_SHORT).show();
}
}
@Override
public void onProviderDisabled(String arg0) {
// TODO Auto-generated method stub
}
@Override
public void onProviderEnabled(String arg0) {
// TODO Auto-generated method stub
}
@Override
public void onStatusChanged(String arg0, int arg1, Bundle arg2) {
// TODO Auto-generated method stub
}
}
}
Langkah selanjutnya adalah menjalankan program yang kita buat. Jika anda akan menjalankan program langsung di smartphone, pastikan GPS diaktifkan dan telah terkunci. Setelah terkunci, aplikasi akan terus menerus menampilkan perubahan lokasi pengguna.
Jika dijalankan program di emulator, masalah yang harus dihadapi adalah tidak tersedianya GPS di komputer yang kita gunakan.
Solusinya harus mensetting latitude dan longitude diemulator controlnya. Caranya adalah 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.
Di bagian Location Controls inilah kita dapat memasukkan data longitude dan latitude secara manual. Masukkan nilai longitude dan latitude yang akan dikirimkan ke emulator, kemudian tekan tombol send. Sekarang, aplikasi yang telah kita buat akan menampilkan posisi geografis pengguna yang telah dikirimkan
0 komentar:
Posting Komentar