TUNANDROID.com
La Communauté Android en Tunisie



Tutoriaux

4 août 2010

Tutoriel Développement : GPS Android

More articles by »
Written by: louky
Mots-clefs :, , , ,

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  ;) .

VN:F [1.9.22_1171]
Rating: 6.0/10 (5 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Tutoriel Développement : GPS Android, 6.0 out of 10 based on 5 ratings


About the Author

louky
ingénieur informatique (ENSI) promtion 2008 ayant une experience 2ans dev application mobile Android.




12 Comments


  1. D.v.G

    sa sert a rien mais c’est indispensable pour les geek xD

    VA:F [1.9.22_1171]
    Rating: 0 (from 2 votes)

  2. alaandroid

    Absolument!! Je ne sais pas pourquoi on ne peut rien capter en Tunisie! même pas un seul satellite !!!!!

    VA:F [1.9.22_1171]
    Rating: +1 (from 1 vote)

  3. T.M

    Si si on peut mais aprés l’activation il faut attendre un peu… moi je l’utilise ;)

    VA:F [1.9.22_1171]
    Rating: 0 (from 0 votes)

  4. alaandroid

    Ah bon! et avec maps ????

    VA:F [1.9.22_1171]
    Rating: 0 (from 0 votes)

  5. T.M

    ça marche aussi quand il y a une connectivité internet ;)

    VA:F [1.9.22_1171]
    Rating: 0 (from 0 votes)

  6. alaandroid

    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 !

    VA:F [1.9.22_1171]
    Rating: +1 (from 1 vote)

  7. Je développe actuellement une appli utilisant le GPS. Et ton tuto m’a vraiment beaucoup aidé. Donc merci à toi !

    VA:F [1.9.22_1171]
    Rating: 0 (from 0 votes)

  8. ngca

    le fichier main.xml SVP

    VN:F [1.9.22_1171]
    Rating: +1 (from 1 vote)

  9. louky

    ngca,
    pour le fichier main.xml tu peux le mettre sous n’importe quel format ou avec sa format par default.
    EXP:

    VA:F [1.9.22_1171]
    Rating: 0 (from 0 votes)

  10. haythem

    cooooooooooooooooooooooooooooooooooool

    sujet très intéressent, merci.

    VN:F [1.9.22_1171]
    Rating: -2 (from 6 votes)

  11. SonsOfAnarchy

    @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 ;)

    VN:F [1.9.22_1171]
    Rating: +1 (from 1 vote)

  12. DroidX

    ça ne marche pas , ou quelque chose manque (main.xml)!
    pourquoi tu postes donc des conneries ?!

    VA:F [1.9.22_1171]
    Rating: -1 (from 1 vote)


Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Connect with Facebook

Vous pouvez utiliser ces balises et attributs HTML : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>


 
 

 
Sony-Xperia-Tablet-Z-settings-640x358

Sony Xperia Tablet Z ajouté dans l’Open Source Project d’Android

Sony vient d'annoncer encore une fois leur soutient pour l'Open Source Project d'Android ce qui veut dire que le logiciel sera ouvert et disponible pour...
by Rédaction TUNANDROID.COM
0

 
 
s3-422

Samsung Galaxy S3 : Fuite de la mise-à-jour de Android 4.2.2 Jelly Bean

Profiter de la version 4.2.2 avant les autres et avant même qu'elle soit complète , c'est possible ? je vous annonce que rien n'est impossible car l'équipe de SamMobile vient de publier une version non officiel d'Android ...
by Rédaction TUNANDROID.COM
0

 
 
googleio13

Google I/O 2013 : Un petit aperçu de la deuxième journée

Google vient juste de baisser ses rideaux rouges pour la deuxième journée de son événement, je parle bien de l'I/O 2013 et dans cette belle journée ont eu quelques nouveautés concernant ses produits...
by Rédaction TUNANDROID.COM
0

 

 
samsung-galaxy-s4-tco-certification

Le GALAXY S4 de Samsung : premier smartphone certifié TCO au monde

Samsung Electronics Co., Ltd a annoncé aujourd'hui que le Samsung Galaxy S4 est le premier smartphone au monde à recevoir l’honneur d’être certifié TCO. TCO Development, est un organisme suédois indépendant de certif...
by Rédaction TUNANDROID.COM
0

 
 
io2013

Google I/O deuxième jour : En direct

Le deuxième jour du Google I/O vient de débuter il y a quelques minutes, alors la grande question qui se pose est ce qu'on va goûter enfin à la tarte au citron et quelles seront les nouveautés que Google pourra présenter ...
by Rédaction TUNANDROID.COM
0