Le but de ce tutoriel est de déterminer la localisation en temps réel.
. Créer une application Android dont la main Activity est nommée « SampleGPS »
. Dans le fichier AndroidManifest.xml, ajouter la permission suivante :
<uses-permission android:name= »android.permission.ACCESS_FINE_LOCATION »/>
Dans la fichier source SampleGPS.java :
En utilisant la classe LocationManager qui se trouve sous le package android.location, votre application peut détermine la localisation géographique de votre mobile.
La méthode prédéfini getSystemService() determine la localisation a un instant précis.
En plus si vous voulez que votre application mettre a jour et détermine périodiquement la localisation vous devez utiliser la méthode requestLocationUpdates(arg1, arg2, arg3, arg4)
Arg1 : nom provider de registration.
Arg2 : temps minimal de notifications, en millisecondes.
Arg3 : distance minimale de notifications, en metres.
Arg4 : l’objet appelé à chaque update de localisation, par la méthode onLocationChanged().
Ensuite vous devez ajouter à l’implémentation les méthodes suivantes :
onLocationChanged(Location location) : appelé en cas de changement de localisation.
onProviderEnabled(String provider) : appelé si le provider enabled par l’utilisateur.
onProviderDisabled(String provider) : appelé si le provider disabled par l’utilisateur.
onStatusChanged(String provider, int status, Bundle extras) : appelé quand le statuts du provider est changé.
Apres l’exécution un toast (messagebox temporaire qques secondes et disparaître) s’affiche a chaque nouvelle localisation, qui indique le longitude et latitude.
Si vous n’avez pas un terminal mobile, vous pouvez utiliser eclipse et a partir de la perspective « «DDMS » modifier les paramètres de la localisation, et suivez l’exécution sur l’émulateur.
Le code source:
. Le fichier AndroidManifest.xml:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.louky.GPS">
<uses-permission
android:name="android.permission.ACCESS_FINE_LOCATION" />
<application android:icon="@drawable/icon"
android:label="@string/app_name">
<activity android:name=".SampleGPS" 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-sdk android :minSdkVersion= "2"/>
</manifest>
. La classe source SampleGPS.java:
package com.louky.GPS;
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 SampleGPS extends Activity
{
private LocationManager locationManager;
private LocationListener locationListener;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//---use the LocationManager class to obtain GPS locations---
locationManager = (LocationManager)
getSystemService(Context.LOCATION_SERVICE);
locationListener = new MyLocationListener();
locationManager.requestLocationUpdates(
LocationManager.GPS_PROVIDER,
0,
0,
locationListener);
}
private class MyLocationListener implements LocationListener
{
@Override
public void onLocationChanged(Location loc) {
if (loc != null) {
Toast.makeText(getBaseContext(),
"Localisation actuelle :n 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
}
}
}
Enjoy ;) .
Tutoriel Développement : GPS Android, 6.0 out of 10 based on 5 ratings

sa sert a rien mais c’est indispensable pour les geek xD
Absolument!! Je ne sais pas pourquoi on ne peut rien capter en Tunisie! même pas un seul satellite !!!!!
Si si on peut mais aprés l’activation il faut attendre un peu… moi je l’utilise
Ah bon! et avec maps ????
ça marche aussi quand il y a une connectivité internet
Oui c’est tout à fait normal lorsque le téléphone est connecté à internet! Par contre, en activant le GPS et en désactivant le WIFI que ça devient impossible de naviguer !
Je développe actuellement une appli utilisant le GPS. Et ton tuto m’a vraiment beaucoup aidé. Donc merci à toi !
le fichier main.xml SVP
ngca,
pour le fichier main.xml tu peux le mettre sous n’importe quel format ou avec sa format par default.
EXP:
cooooooooooooooooooooooooooooooooooool
sujet très intéressent, merci.
@haythem
Absolument tu peux tester directement sur l’émulateur :
* Ouvre la console windows (CMD)
* Par défaut ton émulateur fonctionne sur le port 5554 donc fais telnet localhost 5554
* Quand tu as l’invite OK, tape soit :
geo fix -121.45356 46.51119 4392
soit :
geo nmea $GPRMC,081836,A,3751.65,S,14507.36,E,000.0,360.0,130998,011.3,E*62
bien-sur tu mets tes params perso long/lat/v etc …
Le pb avec geo nmea c’est que tu dois calculer le checksum à la fin
Hope this helps
ça ne marche pas , ou quelque chose manque (main.xml)!
pourquoi tu postes donc des conneries ?!