Il faut d'abord s'intéresser au GPS et à la façon de l'utiliser dans son application. Pour cela, stackoverflow.com a déjà des réponses : Quel est le moyen le plus simple et le plus robuste d'obtenir la position actuelle de l'utilisateur dans Android ?
Il faut ensuite gérer l'api de google maps pour afficher les icônes et faire du géocodage : utiliser-google-maps-Android
Mise à jour :
public class JsonDownloader{
private static final String URI = "http://mySite.net/rest/getData.php";
@SuppressWarnings("unchecked")
public static String receiveData(){
String result = "";
DefaultHttpClient client = new DefaultHttpClient();
HttpGet method = new HttpGet(url);
HttpResponse res = null;
try {
res = client.execute(method);
} catch (ClientProtocolException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
try{
InputStream is = res.getEntity().getContent();
BufferedReader reader = new BufferedReader(new InputStreamReader(is,"iso-8859-1"));
StringBuilder sb = new StringBuilder();
String line = null;
while ((line = reader.readLine()) != null) {
sb.append(line + "\n");
}
is.close();
result = sb.toString();
}catch(Exception e){
Log.e("log_tag", "Error converting result "+e.toString());
}
return result;
}
}
Ce code effectue une requête http de base et renvoie les données renvoyées par votre script sous la forme d'une chaîne. Ceci est utile pour télécharger des données GPS sans rien afficher.
Pour le stockage des données GPS, vous avez besoin de la même classe, vous pouvez modifier la classe ci-dessus pour effectuer des requêtes post et get. Il faut donc d'abord spécifier les paramètres post. Nous pouvons donc ajouter la méthode postData : http://www.androidsnippets.org/snippets/36/index.html
Tout ceci doit se faire de manière asynchrone car c'est une opération qui prend du temps, pour plus de détails regardez le code dans les commentaires : http://Android-projects.de/2010/08/13/threading-in-Android-apps/