android - unable to start activity? need assistance -
i keep getting error when starting app. code started google api v1, ive been trying convert v2. closes app when run it. based off tutorial online im learning from. suggestions?
package -; import java.util.list; import android.content.intent; import android.graphics.drawable.drawable; import android.os.bundle; import android.support.v4.app.fragmentactivity; import android.view.window; import -.additemizedoverlay; import -.place; import -.placeslist; import -.r; import com.google.android.gms.maps.mapfragment; import com.google.android.gms.maps.supportmapfragment; import com.google.android.maps.geopoint; import com.google.android.maps.mapcontroller; import com.google.android.maps.overlay; import com.google.android.maps.overlayitem; public class placesmapactivity extends fragmentactivity { // nearest places placeslist nearplaces; // map view mapfragment mapview; // map overlay items list<overlay> mapoverlays; additemizedoverlay itemizedoverlay; geopoint geopoint; // map controllers mapcontroller mc; double latitude; double longitude; overlayitem overlayitem; @override public void oncreate(bundle savedinstancestate) { requestwindowfeature(window.feature_custom_title); super.oncreate(savedinstancestate); setcontentview(r.layout.map_places); getwindow().setfeatureint(window.feature_custom_title, r.layout.window_title); intent = getintent(); // users current geo location string user_latitude = i.getstringextra("user_latitude"); string user_longitude = i.getstringextra("user_longitude"); // nearplaces list nearplaces = (placeslist) i.getserializableextra("near_places"); supportmapfragment fragment = ( supportmapfragment) getsupportfragmentmanager().findfragmentbyid(r.id.map); // geopoint place on map geopoint = new geopoint((int) (double.parsedouble(user_latitude) * 1e6), (int) (double.parsedouble(user_longitude) * 1e6)); // drawable marker icon drawable drawable_user = this.getresources() .getdrawable(r.drawable.mark_red); itemizedoverlay = new additemizedoverlay(drawable_user, this); // map overlay item overlayitem = new overlayitem(geopoint, "your location", "that you!"); itemizedoverlay.addoverlay(overlayitem); mapoverlays.add(itemizedoverlay); itemizedoverlay.populatenow(); // drawable marker icon drawable drawable = this.getresources() .getdrawable(r.drawable.mark_blue); itemizedoverlay = new additemizedoverlay(drawable, this); // these values used map boundary area // area can see markers on screen int minlat = integer.max_value; int minlong = integer.max_value; int maxlat = integer.min_value; int maxlong = integer.min_value; // check null in case null if (nearplaces.results != null) { // loop through places (place place : nearplaces.results) { latitude = place.geometry.location.lat; // latitude longitude = place.geometry.location.lng; // longitude // geopoint place on map geopoint = new geopoint((int) (latitude * 1e6), (int) (longitude * 1e6)); // map overlay item overlayitem = new overlayitem(geopoint, place.name, place.vicinity); itemizedoverlay.addoverlay(overlayitem); // calculating map boundary area minlat = (int) math.min( geopoint.getlatitudee6(), minlat ); minlong = (int) math.min( geopoint.getlongitudee6(), minlong); maxlat = (int) math.max( geopoint.getlatitudee6(), maxlat ); maxlong = (int) math.max( geopoint.getlongitudee6(), maxlong ); } mapoverlays.add(itemizedoverlay); // showing overlay items itemizedoverlay.populatenow(); } } }
<?xml version="1.0" encoding="utf-8"?> <linearlayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <fragment android:id="@+id/map" android:layout_width="fill_parent" android:layout_height="fill_parent" android:name="com.google.android.gms.maps.supportmapfragment" /> </linearlayout>
05-15 01:04:49.513: w/dalvikvm(12551): threadid=1: thread exiting uncaught exception (group=0x40aac228) 05-15 01:04:49.513: e/androidruntime(12551): fatal exception: main 05-15 01:04:49.513: e/androidruntime(12551): java.lang.runtimeexception: unable start activity componentinfo{-/-.placesmapactivity}: java.lang.nullpointerexception 05-15 01:04:49.513: e/androidruntime(12551): @ android.app.activitythread.performlaunchactivity(activitythread.java:2194) 05-15 01:04:49.513: e/androidruntime(12551): @ android.app.activitythread.handlelaunchactivity(activitythread.java:2229) 05-15 01:04:49.513: e/androidruntime(12551): @ android.app.activitythread.access$600(activitythread.java:139) 05-15 01:04:49.513: e/androidruntime(12551): @ android.app.activitythread$h.handlemessage(activitythread.java:1261) 05-15 01:04:49.513: e/androidruntime(12551): @ android.os.handler.dispatchmessage(handler.java:99) 05-15 01:04:49.513: e/androidruntime(12551): @ android.os.looper.loop(looper.java:154) 05-15 01:04:49.513: e/androidruntime(12551): @ android.app.activitythread.main(activitythread.java:4944) 05-15 01:04:49.513: e/androidruntime(12551): @ java.lang.reflect.method.invokenative(native method) 05-15 01:04:49.513: e/androidruntime(12551): @ java.lang.reflect.method.invoke(method.java:511) 05-15 01:04:49.513: e/androidruntime(12551): @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:784) 05-15 01:04:49.513: e/androidruntime(12551): @ com.android.internal.os.zygoteinit.main(zygoteinit.java:551) 05-15 01:04:49.513: e/androidruntime(12551): @ dalvik.system.nativestart.main(native method) 05-15 01:04:49.513: e/androidruntime(12551): caused by: java.lang.nullpointerexception 05-15 01:04:49.513: e/androidruntime(12551): @ -.placesmapactivity.oncreate(placesmapactivity.java:74) 05-15 01:04:49.513: e/androidruntime(12551): @ android.app.activity.performcreate(activity.java:4531) 05-15 01:04:49.513: e/androidruntime(12551): @ android.app.instrumentation.callactivityoncreate(instrumentation.java:1071) 05-15 01:04:49.513: e/androidruntime(12551): @ android.app.activitythread.performlaunchactivity(activitythread.java:2150) 05-15 01:04:49.513: e/androidruntime(12551): ... 11 more 05-15 01:04:51.115: d/process(12551): killprocess, pid=12551
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="-" android:versioncode="1" android:versionname="1.0" android:largescreens="true" android:normalscreens="true" android:smallscreens="true" android:resizeable="true" android:anydensity="true" android:theme="@android:style/theme.notitlebar" > <uses-sdk android:minsdkversion="15" android:targetsdkversion="17" /> <permission android:name="-.permission.maps_receive" android:protectionlevel="signature" /> <uses-feature android:glesversion="0x00020000" android:required="true" /> <uses-permission android:name="-.permission.maps_receive" /> <uses-permission android:name="android.permission.internet" /> <uses-permission android:name="android.permission.write_external_storage" /> <uses-permission android:name="com.google.android.providers.gsf.permission.read_gservices" /> <uses-permission android:name="android.permission.access_coarse_location" /> <uses-permission android:name="android.permission.access_fine_location" /> <uses-permission android:name="android.permission.access_network_state" /> <uses-permission android:name="android.permission.call_phone" ></uses-permission> <application android:icon="@drawable/applogo12" android:label="@string/app_name" android:theme="@style/customtheme"> <uses-library android:name="com.google.android.maps" /> <activity android:name="-.splashactivity" android:screenorientation="portrait"> <intent-filter> <action android:name="android.intent.action.main" /> <category android:name="android.intent.category.launcher" /> </intent-filter> </activity> <activity android:name=".homeactivity" android:screenorientation="portrait"></activity> <activity android:name=".placesmapactivity" android:screenorientation="portrait"></activity> <meta-data android:name="com.google.android.maps.v2.api_key" android:value="-" /> </application> </manifest>
in java stack trace, hunt references code, determine things going wrong. in case, is:
05-15 01:04:49.513: e/androidruntime(12551): caused by: java.lang.nullpointerexception 05-15 01:04:49.513: e/androidruntime(12551): @ -.placesmapactivity.oncreate(placesmapactivity.java:74)
if assume line line 74:
mapoverlays.add(itemizedoverlay);
then exception makes sense, never initialize mapoverlays
.
beyond that, of code not work, attempting maps v1 work on maps v2 map. example, there no overlayitem
instances maps v2, nor itemizedoverlay, nor
geopoint`. might consider commmenting out code, until write maps v2 replacements it, rather merely crashing.
Comments
Post a Comment