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:
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:
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) :
Citation:
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