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 :
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
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 } }
et le message d'erreur (mon vieil ami nullPointerException) :
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>
Normalement, j'ai bien suivi le tutoriel, j'ai récupéré la clef GMap également donc je sèche un peu la.
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
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
Partager