2012-01-13 3 views
1

J'essaie de créer une application simple pour obtenir les coordonnées de l'utilisateur sur un téléphone Android en utilisant VS 2010 et Mono pour Android. Tous les échantillons semblent être en Java, ce qui, étant donné que je ne suis pas un développeur java, prête à confusion. Si quelqu'un a un code d'exemple en utilisant seulement C# ce serait très apprécié.Mono pour Android Emplacement en utilisant C# & VS 2010

+0

Cette réponse semble pertinente: http://stackoverflow.com/a/4724618/635634 –

Répondre

1

Vous pouvez créer un écouteur en implémentant l'interface ILocationListener. Ceci est un exemple pour une activité qui agit également comme un écouteur d'emplacement (même si elle peut être une catégorie distincte si vous voulez aussi):

[Activity(Label = "Location Demo")] 
public class LocationActivity : Activity, ILocationListener 
{ 
    protected override void OnCreate(Bundle savedInstanceState) 
    { 
     base.OnCreate(savedInstanceState); 

     SetContentView(Resource.Layout.Main); 

     var locationManager = (LocationManager)GetSystemService(LocationService); 

     var criteria = new Criteria { Accuracy = Accuracy.NoRequirement }; 
     string bestProvider = locationManager.GetBestProvider(criteria, true); 

     locationManager.RequestLocationUpdates(bestProvider, 5000, 2, this); 
    } 

    public void OnLocationChanged(Location location) 
    { 
    } 

    public void OnProviderDisabled(string provider) 
    { 
    } 

    public void OnProviderEnabled(string provider) 
    { 
    } 

    public void OnStatusChanged(string provider, Availability status, Bundle extras) 
    { 
    } 
} 

J'ai un échantillon similaire en here qui lit les coordonnées et les imprime à l'écran.

+1

Excellent - J'avais trouvé votre page précédemment et tout fonctionne, ou devrait fonctionner si j'avais un téléphone pour le tester. Comme j'utilise un émulateur, j'ai besoin de définir le fournisseur de l'emplacement du test (peut-être d'autres choses aussi) et je ne peux pas comprendre du tout cette partie. Néanmoins, vous avez parfaitement répondu à la question. Je vous remercie. – cymorg

+0

Vous pouvez également simuler les données de localisation dans l'émulateur, soit via l'outil DDMS fourni avec le SDK Android, soit en vous connectant à l'émulateur à l'aide de Telnet et en utilisant la commande "geo". Plus d'informations ici: http://developer.android.com/guide/topics/location/obtaining-user-location.html#MockData –

+0

Ah ha, DDMS, un autre cas de RTFM - Merci encore Greg. – cymorg