IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Android Discussion :

Tutoriel DVP position géographique


Sujet :

Android

  1. #1
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2010
    Messages
    347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2010
    Messages : 347
    Par défaut Tutoriel DVP position géographique
    Bonsoir,

    comme conseillé dans le thread sur les tutos, je post un message car j'ai un problème avec le tutoriel pour récupérer les positions géographiques.

    Le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
     
    package noresi.inter;
     
    import android.location.Location;
    import android.location.LocationListener;
    import android.location.LocationManager;
    import android.os.Bundle;
    import android.view.KeyEvent;
    import android.widget.Toast;
     
    import com.google.android.maps.GeoPoint;
    import com.google.android.maps.MapActivity;
    import com.google.android.maps.MapController;
    import com.google.android.maps.MapView;
    import com.google.android.maps.MyLocationOverlay;
     
    public class PositionGeo extends MapActivity implements LocationListener
    {
     
    	private MapView	mapView = null;
    	private LocationManager lm = null;
    	private double lat	= 0;
    	private double lng	= 0;
    	private MapController	mc	= null;
    	private MyLocationOverlay myLocation = new MyLocationOverlay(getApplicationContext(), mapView);
     
    	@Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.positiongeographique);          
            mapView = (MapView) this.findViewById(R.id.mapView);
            mapView.setBuiltInZoomControls(true);
     
            lm = (LocationManager) this.getSystemService(LOCATION_SERVICE);
          	lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 10000, 0, this);
          	lm.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 10000, 0, this);
     
          	mc = mapView.getController();
          	mc.setZoom(12);
    	}
     
    	@Override
    	protected boolean isRouteDisplayed()
    	{
    		return false;
    	}
     
    	@Override
    	public boolean onKeyDown(int keyCode, KeyEvent event)
    	{
    		if (keyCode == KeyEvent.KEYCODE_S)
    		{
    			mapView.setSatellite(!mapView.isSatellite());
    			return true;
    		}
    		return super.onKeyDown(keyCode, event);
    	}
     
     
    	public void onLocationChanged(Location location)
    	{
    		lat = location.getLatitude();
    		lng = location.getLongitude();
    		mapView.getOverlays().add(myLocation);
    		myLocation.disableMyLocation();
    		Toast.makeText(getBaseContext(),
    				"Location change to : Latitude = " + lat + " Longitude = " + lng,
    				Toast.LENGTH_SHORT).show();
    		GeoPoint p = new GeoPoint((int) (lat * 1E6), (int) (lng * 1E6));
    		mc.animateTo(p);
    		mc.setCenter(p);
    	}
     
     
    	public void onProviderDisabled(String provider)
    	{
    		// TODO Auto-generated method stub
     
    	}
     
     
    	public void onProviderEnabled(String provider)
    	{
    		// TODO Auto-generated method stub
     
    	}
     
     
    	public void onStatusChanged(String provider, int status, Bundle extras)
    	{
    		// TODO Auto-generated method stub
     
    	}
    }
    mon fichier manifest :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
     
    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="noresi.inter"
        android:versionCode="1"
        android:versionName="1.0" >
     
     <uses-sdk android:minSdkVersion="10" android:targetSdkVersion="10" android:maxSdkVersion="10"/>
     <uses-permission android:name="android.permission.INTERNET" />
     <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"></uses-permission>
     <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission>
     <uses-permission android:name="android.permission.CAMERA" />
     <uses-feature android:name="android.hardware.camera" />
     <uses-feature android:name="android.hardware.camera.autofocus" />
     
        <application
            android:icon="@drawable/cocci_02"
            android:label="@string/app_name" >
            <activity
                android:name=".NoresiActivity"
                android:label="@string/app_name" >
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
     
                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
     
            </activity>
     
            <activity android:name=".Ecran_creation"></activity>
            <activity android:name=".Ecran_rechercher"></activity>
            <activity android:name=".Ecran_consulter"></activity>
            <activity android:name=".Ecran_visualiser_base"></activity>
            <activity android:name=".JsonParserMainActivity"></activity>
            <activity android:name=".Ecran_recherche"></activity>
            <activity android:name=".PositionGeo"></activity>
            <uses-library android:name="com.google.android.maps"/>
       </application>
     
    </manifest>
    et le message d'erreur (mon vieil ami nullPointerException) :


    06-07 19:38:41.812: E/AndroidRuntime(625): FATAL EXCEPTION: main
    06-07 19:38:41.812: E/AndroidRuntime(625): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{noresi.inter/noresi.inter.PositionGeo}: java.lang.NullPointerException
    06-07 19:38:41.812: E/AndroidRuntime(625): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1880)
    06-07 19:38:41.812: E/AndroidRuntime(625): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1981)
    06-07 19:38:41.812: E/AndroidRuntime(625): at android.app.ActivityThread.access$600(ActivityThread.java:123)
    06-07 19:38:41.812: E/AndroidRuntime(625): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1147)
    06-07 19:38:41.812: E/AndroidRuntime(625): at android.os.Handler.dispatchMessage(Handler.java:99)
    06-07 19:38:41.812: E/AndroidRuntime(625): at android.os.Looper.loop(Looper.java:137)
    06-07 19:38:41.812: E/AndroidRuntime(625): at android.app.ActivityThread.main(ActivityThread.java:4424)
    06-07 19:38:41.812: E/AndroidRuntime(625): at java.lang.reflect.Method.invokeNative(Native Method)
    06-07 19:38:41.812: E/AndroidRuntime(625): at java.lang.reflect.Method.invoke(Method.java:511)
    06-07 19:38:41.812: E/AndroidRuntime(625): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
    06-07 19:38:41.812: E/AndroidRuntime(625): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
    06-07 19:38:41.812: E/AndroidRuntime(625): at dalvik.system.NativeStart.main(Native Method)
    06-07 19:38:41.812: E/AndroidRuntime(625): Caused by: java.lang.NullPointerException
    06-07 19:38:41.812: E/AndroidRuntime(625): at android.content.ContextWrapper.getApplicationContext(ContextWrapper.java:101)
    06-07 19:38:41.812: E/AndroidRuntime(625): at noresi.inter.PositionGeo.<init>(PositionGeo.java:24)
    06-07 19:38:41.812: E/AndroidRuntime(625): at java.lang.Class.newInstanceImpl(Native Method)
    06-07 19:38:41.812: E/AndroidRuntime(625): at java.lang.Class.newInstance(Class.java:1319)
    06-07 19:38:41.812: E/AndroidRuntime(625): at android.app.Instrumentation.newActivity(Instrumentation.java:1023)
    06-07 19:38:41.812: E/AndroidRuntime(625): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1871)
    06-07 19:38:41.812: E/AndroidRuntime(625): ... 11 more
    Normalement, j'ai bien suivi le tutoriel, j'ai récupéré la clef GMap également donc je sèche un peu la.

    Désolé d'ouvrir un sujet dès que j'ai un problème :s
    J'ai peur d'apprendre que c'est une erreur tout con mais bon.

    Merci

  2. #2
    Modérateur
    Avatar de Hizin
    Homme Profil pro
    Développeur mobile
    Inscrit en
    Février 2010
    Messages
    2 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Développeur mobile

    Informations forums :
    Inscription : Février 2010
    Messages : 2 180
    Par défaut
    Les NPE (NullPointerException) sont des erreurs faciles à régler la majeure partie du temps.

    Ton message d'erreur indique qu'elle se trouve :
    at noresi.inter.PositionGeo.<init>(PositionGeo.java:24)
    Ce qui signifie que, à cette ligne là (classe PositionJava, ligne 24), tu as une variable non-initialisée (donc à null) sur laquelle est fait un traitement quelconque. Vérifie donc ce qui se trouve à cette ligne, regarde ce qui est null à l'aide du débuggueur si ça ne te saute pas aux yeux, et tu devrais la résoudre
    C'est Android, PAS Androïd, ou Androïde didiou !
    Le premier est un OS, le second est la mauvaise orthographe du troisième, un mot français désignant un robot à forme humaine.

    Membre du comité contre la phrase "ça marche PAS" en titre et/ou explication de problème.

    N'oubliez pas de consulter les FAQ Android et les cours et tutoriels Android

  3. #3
    Membre éprouvé
    Avatar de moritan
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2005
    Messages
    687
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juin 2005
    Messages : 687
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
            private MapView	mapView = null;
    	private LocationManager lm = null;
    	private double lat	= 0;
    	private double lng	= 0;
    	private MapController	mc	= null;
    	private MyLocationOverlay myLocation = new  MyLocationOverlay(getApplicationContext(), mapView);
    A en croire ton code, ta variable mapview est null, ton erreur viens surement de là.

  4. #4
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2010
    Messages
    347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2010
    Messages : 347
    Par défaut
    Effectivement, le mapView semble être un mapView dans le fichier xml.
    J'ai peut être oublié le XML pour l'affichage en fait

    J'essaye de corriger ça et je reviens vous voir. Merci !


    Edit : a première vue, j'ai bien le mapView dans mon XML, je regarderais ça plus en détail cette après midi.

  5. #5
    Modérateur
    Avatar de Hizin
    Homme Profil pro
    Développeur mobile
    Inscrit en
    Février 2010
    Messages
    2 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Développeur mobile

    Informations forums :
    Inscription : Février 2010
    Messages : 2 180
    Par défaut
    Il est dans le XML, d'accord, mais est-ce que la variable de ta classe référence ce XML ?
    Actuellement : non.

    Il te suffit de l'initialiser simplement, en faisant un mapView = (MapView) findViewById(R.id.idDeLaMapView);, tu vois l'idée
    C'est Android, PAS Androïd, ou Androïde didiou !
    Le premier est un OS, le second est la mauvaise orthographe du troisième, un mot français désignant un robot à forme humaine.

    Membre du comité contre la phrase "ça marche PAS" en titre et/ou explication de problème.

    N'oubliez pas de consulter les FAQ Android et les cours et tutoriels Android

  6. #6
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2010
    Messages
    347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2010
    Messages : 347
    Par défaut
    Et pourtant j'ai ça dans mon code ;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    mapView = (MapView) this.findViewById(R.id.mapView);
    Donc normalement ça devrait être bon, sinon j'aurais une erreur ici qui me dirait qu'il ne connaît pas mapView, non ?

  7. #7
    Modérateur
    Avatar de Hizin
    Homme Profil pro
    Développeur mobile
    Inscrit en
    Février 2010
    Messages
    2 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Développeur mobile

    Informations forums :
    Inscription : Février 2010
    Messages : 2 180
    Par défaut
    L'ordre d'appel n'est pas bon

    Tout d'abord, le code exécute le super() du constructeur (explicite ou implicite). Une fois cela fait, il va construire les champs de la classe et les initialiser s'il lui est demandé de le faire. Ensuite, il va continuer le code du constructeur.

    Donc, de ton côté, tu utilises la variable mapView avant de l'avoir initialisée. D'où la NPE.

    Transposé à ton code, l'ordre d'exécution est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    super.onCreate(savedInstanceState);
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    private MapView	mapView = null;
    private LocationManager lm = null;
    private double lat	= 0;
    private double lng	= 0;
    private MapController	mc	= null;
    private MyLocationOverlay myLocation = new MyLocationOverlay(getApplicationContext(), mapView);
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    setContentView(R.layout.positiongeographique);          
    mapView = (MapView) this.findViewById(R.id.mapView);
    mapView.setBuiltInZoomControls(true);
     
    lm = (LocationManager) this.getSystemService(LOCATION_SERVICE);
    lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 10000, 0, this);
    lm.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 10000, 0, this);
     
    mc = mapView.getController();
    mc.setZoom(12);
    C'est Android, PAS Androïd, ou Androïde didiou !
    Le premier est un OS, le second est la mauvaise orthographe du troisième, un mot français désignant un robot à forme humaine.

    Membre du comité contre la phrase "ça marche PAS" en titre et/ou explication de problème.

    N'oubliez pas de consulter les FAQ Android et les cours et tutoriels Android

  8. #8
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2010
    Messages
    347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2010
    Messages : 347
    Par défaut
    Comment je suis censé faire alors ? J'avoue que je ne vois pas trop ou tu veux en venir la

  9. #9
    Modérateur
    Avatar de Hizin
    Homme Profil pro
    Développeur mobile
    Inscrit en
    Février 2010
    Messages
    2 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Développeur mobile

    Informations forums :
    Inscription : Février 2010
    Messages : 2 180
    Par défaut
    Tu utilises la variable mapView avant qu'elle ne soit initialisée.

    Déplace simplement cet usage à un endroit où elle sera bien initialisée.
    C'est Android, PAS Androïd, ou Androïde didiou !
    Le premier est un OS, le second est la mauvaise orthographe du troisième, un mot français désignant un robot à forme humaine.

    Membre du comité contre la phrase "ça marche PAS" en titre et/ou explication de problème.

    N'oubliez pas de consulter les FAQ Android et les cours et tutoriels Android

  10. #10
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2010
    Messages
    347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2010
    Messages : 347
    Par défaut
    J'ai compris !
    C'est cette ligne la à déplacer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    private MyLocationOverlay myLocation = new MyLocationOverlay(getApplicationContext(), mapView);
    et à mettre après
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    mapView = (MapView) this.findViewById(R.id.mapView);
    mapView.setBuiltInZoomControls(true);
    J'essaye ça ce soir ! Merci !

  11. #11
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2010
    Messages
    347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2010
    Messages : 347
    Par défaut
    Y a une autre erreur

    Le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
     
    package noresi.inter;
     
    import android.location.Location;
    import android.location.LocationListener;
    import android.location.LocationManager;
    import android.os.Bundle;
    import android.view.KeyEvent;
    import android.widget.Toast;
     
    import com.google.android.maps.GeoPoint;
    import com.google.android.maps.MapActivity;
    import com.google.android.maps.MapController;
    import com.google.android.maps.MapView;
    import com.google.android.maps.MyLocationOverlay;
     
    public class PositionGeo extends MapActivity implements LocationListener
    {
     
    	private MapView	mapView = null;
    	private LocationManager lm = null;
    	private double lat	= 0;
    	private double lng	= 0;
    	private MapController	mc	= null;
     
     
    	@Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.positiongeographique);          
            mapView = (MapView) this.findViewById(R.id.mapView);
            MyLocationOverlay myLocation = new MyLocationOverlay(getApplicationContext(), mapView);
            mapView.setBuiltInZoomControls(true);
     
            lm = (LocationManager) this.getSystemService(LOCATION_SERVICE);
          	lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 10000, 0, this);
          	lm.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 10000, 0, this);
     
          	mc = mapView.getController();
          	mc.setZoom(12);
    	}
     
    	@Override
    	protected boolean isRouteDisplayed()
    	{
    		return false;
    	}
     
    	@Override
    	public boolean onKeyDown(int keyCode, KeyEvent event)
    	{
    		if (keyCode == KeyEvent.KEYCODE_S)
    		{
    			mapView.setSatellite(!mapView.isSatellite());
    			return true;
    		}
    		return super.onKeyDown(keyCode, event);
    	}
     
     
    	public void onLocationChanged(Location location)
    	{
    		lat = location.getLatitude();
    		lng = location.getLongitude();
    		mapView = (MapView) this.findViewById(R.id.mapView);
            MyLocationOverlay myLocation = new MyLocationOverlay(getApplicationContext(), mapView);
            mapView.setBuiltInZoomControls(true);
     
    		mapView.getOverlays().add(myLocation);
    		myLocation.disableMyLocation();
    		Toast.makeText(getBaseContext(),
    				"Location change to : Latitude = " + lat + " Longitude = " + lng,
    				Toast.LENGTH_SHORT).show();
    		GeoPoint p = new GeoPoint((int) (lat * 1E6), (int) (lng * 1E6));
    		mc.animateTo(p);
    		mc.setCenter(p);
    	}
     
     
    	public void onProviderDisabled(String provider)
    	{
    		// TODO Auto-generated method stub
     
    	}
     
     
    	public void onProviderEnabled(String provider)
    	{
    		// TODO Auto-generated method stub
     
    	}
     
     
    	public void onStatusChanged(String provider, int status, Bundle extras)
    	{
    		// TODO Auto-generated method stub
     
    	}
    }
    et l'erreur :


    06-08 20:18:31.155: E/AndroidRuntime(630): FATAL EXCEPTION: main
    06-08 20:18:31.155: E/AndroidRuntime(630): java.lang.RuntimeException: Unable to start activity ComponentInfo{noresi.inter/noresi.inter.PositionGeo}: java.lang.IllegalArgumentException: provider=network
    06-08 20:18:31.155: E/AndroidRuntime(630): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1956)
    06-08 20:18:31.155: E/AndroidRuntime(630): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1981)
    06-08 20:18:31.155: E/AndroidRuntime(630): at android.app.ActivityThread.access$600(ActivityThread.java:123)
    06-08 20:18:31.155: E/AndroidRuntime(630): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1147)
    06-08 20:18:31.155: E/AndroidRuntime(630): at android.os.Handler.dispatchMessage(Handler.java:99)
    06-08 20:18:31.155: E/AndroidRuntime(630): at android.os.Looper.loop(Looper.java:137)
    06-08 20:18:31.155: E/AndroidRuntime(630): at android.app.ActivityThread.main(ActivityThread.java:4424)
    06-08 20:18:31.155: E/AndroidRuntime(630): at java.lang.reflect.Method.invokeNative(Native Method)
    06-08 20:18:31.155: E/AndroidRuntime(630): at java.lang.reflect.Method.invoke(Method.java:511)
    06-08 20:18:31.155: E/AndroidRuntime(630): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
    06-08 20:18:31.155: E/AndroidRuntime(630): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
    06-08 20:18:31.155: E/AndroidRuntime(630): at dalvik.system.NativeStart.main(Native Method)
    06-08 20:18:31.155: E/AndroidRuntime(630): Caused by: java.lang.IllegalArgumentException: provider=network
    06-08 20:18:31.155: E/AndroidRuntime(630): at android.os.Parcel.readException(Parcel.java:1331)
    06-08 20:18:31.155: E/AndroidRuntime(630): at android.os.Parcel.readException(Parcel.java:1281)
    06-08 20:18:31.155: E/AndroidRuntime(630): at android.location.ILocationManager$Stub$Proxy.requestLocationUpdates(ILocationManager.java:646)
    06-08 20:18:31.155: E/AndroidRuntime(630): at android.location.LocationManager._requestLocationUpdates(LocationManager.java:589)
    06-08 20:18:31.155: E/AndroidRuntime(630): at android.location.LocationManager.requestLocationUpdates(LocationManager.java:453)
    06-08 20:18:31.155: E/AndroidRuntime(630): at noresi.inter.PositionGeo.onCreate(PositionGeo.java:36)
    06-08 20:18:31.155: E/AndroidRuntime(630): at android.app.Activity.performCreate(Activity.java:4465)
    06-08 20:18:31.155: E/AndroidRuntime(630): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049)
    06-08 20:18:31.155: E/AndroidRuntime(630): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1920)
    06-08 20:18:31.155: E/AndroidRuntime(630): ... 11 more
    ça semble être un problème assez connu mais j'ai rien trouvé de concluant quand à un moyen de le régler. Quelqu'un a déjà eu ça ? A trouvé comment le régler ?

    Merci

  12. #12
    Expert confirmé

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Par défaut
    Bonjour,


    06-08 20:18:31.155: E/AndroidRuntime(630): Caused by: java.lang.IllegalArgumentException: provider=network
    Tu as un souci sur le provider du network , tu utilises un proxy ou autres ?
    Par exemple tu es sur l'emulateur ?

    Essayes de vérifier si ton provider est disponible avant de lancer tes request

    http://developer.android.com/referen...a.lang.String)

  13. #13
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2010
    Messages
    347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2010
    Messages : 347
    Par défaut
    Merci pour ta réponse.

    Alors non je n'ai pas de proxy mais oui je suis sur l'émulateur. ça viendrait de la ? Fichu émulateur !

    Je testerais demain sur la tablette pour vérifier et si ça ne fonctionne pas j'utiliserais la fonction que tu m'as link et si ça ne fonctionne toujours pas je reviendrais ici

    N'empêche, l'émulateur réduit drastiquement les possibilités de test :s

  14. #14
    Expert confirmé

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Par défaut
    N'empêche, l'émulateur réduit drastiquement les possibilités de test :s
    C'est déjà pas mal d'en avoir un, après l'emulateur que ce soit pour Android, IOs ou autre, c'est toujours réduit (difficile de simuler les capteurs et autres ).

Discussions similaires

  1. Trouver et comparer des positions géographiques
    Par noussa2011 dans le forum Langage
    Réponses: 1
    Dernier message: 19/11/2012, 16h06
  2. Trouver et comparer des positions géographiques
    Par Invité dans le forum Langage
    Réponses: 2
    Dernier message: 25/04/2012, 13h55
  3. Les futurs tutoriels Java sur DVP ?
    Par Ricky81 dans le forum Débats
    Réponses: 65
    Dernier message: 06/01/2012, 03h33
  4. [MySQL] Recherche de ligne en fonctions de la position géographique
    Par rastacouaire dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 20/05/2009, 12h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo