Note that there are some explanatory texts on larger screens.

plurals
  1. POUnable to instantiate activity componentinfo RunTimeException
    primarykey
    data
    text
    <p>Update below:</p> <p>I have this maps activity started when I click a button. I receive the below in the logcat. I have the activity added to the manifest. I have the setContentView inside the onCreate. I also have the permissions declared in the manifest. The layout xml is just a map fragment. Anyone see anything that might be the cause of this problem?</p> <p>logcat:</p> <pre><code>10-09 23:16:10.516: W/dalvikvm(27281): threadid=1: thread exiting with uncaught exception (group=0x41955700) 10-09 23:16:10.516: E/AndroidRuntime(27281): FATAL EXCEPTION: main 10-09 23:16:10.516: E/AndroidRuntime(27281): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.indeeditis/com.indeeditis.FinderActivity}: java.lang.NullPointerException 10-09 23:16:10.516: E/AndroidRuntime(27281): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2137) 10-09 23:16:10.516: E/AndroidRuntime(27281): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261) 10-09 23:16:10.516: E/AndroidRuntime(27281): at android.app.ActivityThread.access$600(ActivityThread.java:141) 10-09 23:16:10.516: E/AndroidRuntime(27281): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256) 10-09 23:16:10.516: E/AndroidRuntime(27281): at android.os.Handler.dispatchMessage(Handler.java:99) 10-09 23:16:10.516: E/AndroidRuntime(27281): at android.os.Looper.loop(Looper.java:137) 10-09 23:16:10.516: E/AndroidRuntime(27281): at android.app.ActivityThread.main(ActivityThread.java:5103) 10-09 23:16:10.516: E/AndroidRuntime(27281): at java.lang.reflect.Method.invokeNative(Native Method) 10-09 23:16:10.516: E/AndroidRuntime(27281): at java.lang.reflect.Method.invoke(Method.java:525) 10-09 23:16:10.516: E/AndroidRuntime(27281): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737) 10-09 23:16:10.516: E/AndroidRuntime(27281): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) 10-09 23:16:10.516: E/AndroidRuntime(27281): at dalvik.system.NativeStart.main(Native Method) 10-09 23:16:10.516: E/AndroidRuntime(27281): Caused by: java.lang.NullPointerException 10-09 23:16:10.516: E/AndroidRuntime(27281): at android.content.ContextWrapper.getPackageName(ContextWrapper.java:135) 10-09 23:16:10.516: E/AndroidRuntime(27281): at android.location.GeocoderParams.&lt;init&gt;(GeocoderParams.java:50) 10-09 23:16:10.516: E/AndroidRuntime(27281): at android.location.Geocoder.&lt;init&gt;(Geocoder.java:83) 10-09 23:16:10.516: E/AndroidRuntime(27281): at android.location.Geocoder.&lt;init&gt;(Geocoder.java:95) 10-09 23:16:10.516: E/AndroidRuntime(27281): at com.indeeditis.FinderActivity.&lt;init&gt;(FinderActivity.java:63) 10-09 23:16:10.516: E/AndroidRuntime(27281): at java.lang.Class.newInstanceImpl(Native Method) 10-09 23:16:10.516: E/AndroidRuntime(27281): at java.lang.Class.newInstance(Class.java:1130) 10-09 23:16:10.516: E/AndroidRuntime(27281): at android.app.Instrumentation.newActivity(Instrumentation.java:1061) 10-09 23:16:10.516: E/AndroidRuntime(27281): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2128) 10-09 23:16:10.516: E/AndroidRuntime(27281): ... 11 more </code></pre> <p>Activity:</p> <pre><code>public class FinderActivity extends Activity implements LocationListener { GoogleMap mMap; Location myLocation; EditText length; String lengthString; LocationManager locationmanager; double lati; double longi; String nameFirst1; List&lt;Address&gt; address; Geocoder coder = new Geocoder(this); private static final String TAG_ID = "id"; private static final String TAG_FIRSTNAME = "nameFirst"; private static final String TAG_LASTNAME = "nameLast"; private static final String TAG_EMAIL = "emailAddress"; private static final String TAG_ADDRESS = "streetAddress"; private static final String TAG_STATE = "state"; private static final String TAG_ZIPCODE ="zipCode"; private static final String TAG_COMPANY ="company"; private static final String TAG_OTHERCOMPANY ="companyTwo"; private static final String TAG_PHONE = "phone"; JSONArray contacts = null; private static class LocationData { private double lat; private double longitude; private String name; private String other; public LocationData(double lat, double longitude, String name, String other) { this.lat = lat; this.longitude = longitude; this.name = name; this.other = other; } public void setLat(double lat) { this.lat = lat; } public void setLongitude(double longitude) { this.longitude = longitude; } public double getLat() { return lat; } public double getLongitude() { return longitude; } public void setName(String name) { this.name = name; } public String getName() { return name; } public String getOther() { return other; } } @SuppressLint("NewApi") @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.maps); mMap = ((MapFragment) getFragmentManager().findFragmentById(R.id.map)).getMap(); if (mMap!= null) { mMap.setMapType(GoogleMap.MAP_TYPE_NORMAL); mMap.setMyLocationEnabled(true); mMap.animateCamera(CameraUpdateFactory.zoomBy(17)); } LocationManager locationmanager = (LocationManager) getSystemService(LOCATION_SERVICE); Criteria cr = new Criteria(); String provider = locationmanager.getBestProvider(cr, true); Location location = locationmanager.getLastKnownLocation(provider); locationmanager.requestLocationUpdates(provider, 20, 0, (LocationListener) this); mMap.moveCamera(CameraUpdateFactory.newLatLng((new LatLng(location.getLatitude(), location.getLongitude())))); new EndpointsTask().execute(FinderActivity.this); } public class EndpointsTask extends AsyncTask&lt;Context, LocationData, Long&gt; { private List&lt;LocationData&gt; locationList = new ArrayList&lt;LocationData&gt;(); public Long doInBackground(Context... contexts) { Contactinfoendpoint.Builder endpointBuilder = new Contactinfoendpoint.Builder( AndroidHttp.newCompatibleTransport(), new JacksonFactory(), new HttpRequestInitializer() { public void initialize(HttpRequest httpRequest) { } }); Contactinfoendpoint endpoint = CloudEndpointUtils.updateBuilder( endpointBuilder).build(); try { String apples = endpoint.listContactInfo().execute().toString(); JSONObject jObject = new JSONObject(apples); JSONArray jsonArr = jObject.getJSONArray("items"); for(int i =0 ; i&lt;jsonArr.length() ;i++ ){ JSONObject jsonObj1 = jsonArr.getJSONObject(i); // Storing each json item in variable String id = jsonObj1.getString(TAG_ID); String nameFirst1 = jsonObj1.getString(TAG_FIRSTNAME); String nameLast1 = jsonObj1.getString(TAG_LASTNAME); String emailAddress1 = jsonObj1.getString(TAG_EMAIL); String streetAddress1 = jsonObj1.getString(TAG_ADDRESS); String state1 = jsonObj1.getString(TAG_STATE); String zip1 = jsonObj1.getString(TAG_ZIPCODE); String phone1 = jsonObj1.getString(TAG_PHONE); String company1 = jsonObj1.getString(TAG_COMPANY); // String othercompany1 = jsonObj1.getString(TAG_OTHERCOMPANY); String othercompany1 = String.valueOf(jsonObj1.optString(TAG_OTHERCOMPANY)); //test to see if made it to string Log.d("YOUR_TAG", "First Name: " + nameFirst1 + " Last Name: " + nameLast1); Log.d("nlltag", apples); String whereDeyAt = streetAddress1 + " " + zip1; address = coder.getFromLocationName(whereDeyAt,5); Address location1 = address.get(0); // SET LAT LNG VALUES FOR MARKER POINT double lati = location1.getLatitude(); double longi = location1.getLongitude(); String otherinfo; if (othercompany1==null) { otherinfo = company1 + ", " + " " + phone1; } else {otherinfo = company1 + ", "+ othercompany1 + " " + phone1; } Log.d("Location", "Location:" + lati + " " + longi); LocationData data = new LocationData(lati, longi, nameFirst1 + " " + nameLast1,otherinfo ); locationList.add(data); publishProgress(data); } } catch (IOException e) { e.printStackTrace(); } catch (JSONException e) { // TODO Auto-generated catch block e.printStackTrace(); } return (long) 0; } public LocationData onProgressUpdate(LocationData data) { return data; } protected void onPostExecute(Long result) { for(LocationData data : locationList){ mMap.addMarker(new MarkerOptions() .position(new LatLng(data.getLat(), data.getLongitude())) .title(data.getName()) .snippet(data.getOther())); } } } </code></pre> <p>Manifest:</p> <pre><code> &lt;?xml version="1.0" encoding="utf-8" standalone="no"?&gt;&lt;manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="1" android:versionName="1.0" package="com.indeeditis"&gt; &lt;uses-sdk android:minSdkVersion="8" android:targetSdkVersion="18"/&gt; &lt;uses-permission android:name="android.permission.INTERNET"/&gt; &lt;permission android:name="com.indeeditis.permission.C2D_MESSAGE" android:protectionLevel="signature"/&gt; &lt;uses-permission android:name="com.indeeditis.permission.C2D_MESSAGE"/&gt; &lt;uses-permission android:name="com.google.android.c2dm.permission.RECEIVE"/&gt; &lt;uses-permission android:name="android.permission.WAKE_LOCK"/&gt; &lt;uses-permission android:name="android.permission.GET_ACCOUNTS"/&gt; &lt;uses-permission android:name="android.permission.USE_CREDENTIALS"/&gt; &lt;permission android:name="com.indeeditis.MAPS_RECEIVE" android:protectionLevel="signature"/&gt; </code></pre> <p></p> <pre><code>&lt;uses-permission android:name="android.permission.INTERNET"/&gt; &lt;uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/&gt; &lt;uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/&gt; &lt;uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/&gt; &lt;uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/&gt; &lt;uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/&gt; &lt;uses-feature android:glEsVersion="0x00020000" android:required="true"/&gt; &lt;!-- for card.io card scanning --&gt; &lt;uses-permission android:name="android.permission.CAMERA" /&gt; &lt;uses-permission android:name="android.permission.VIBRATE" /&gt; &lt;!-- for most things, including card.io and paypal --&gt; &lt;uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /&gt; &lt;uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /&gt; &lt;!-- Camera features --&gt; &lt;uses-feature android:name="android.hardware.camera" android:required="false" /&gt; &lt;uses-feature android:name="android.hardware.camera.autofocus" android:required="false" /&gt; &lt;uses-feature android:name="android.hardware.camera.flash" android:required="false" /&gt; &lt;application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme"&gt; &lt;activity android:name="StartScreen"&gt;&lt;intent-filter&gt; &lt;action android:name="android.intent.action.MAIN" /&gt; &lt;category android:name="android.intent.category.LAUNCHER" /&gt; &lt;/intent-filter&gt; &lt;/activity&gt; &lt;activity android:label="@string/app_name" android:name=".MainActivity"&gt; &lt;/activity&gt; &lt;!-- &lt;receiver android:name="com.google.android.gcm.GCMBroadcastReceiver" android:permission="com.google.android.c2dm.permission.SEND"&gt; &lt;intent-filter&gt; &lt;action android:name="com.google.android.c2dm.intent.RECEIVE"/&gt; &lt;category android:name="com.indeeditis"/&gt; &lt;/intent-filter&gt; &lt;intent-filter&gt; &lt;action android:name="com.google.android.c2dm.intent.REGISTRATION"/&gt; &lt;category android:name="com.indeeditis"/&gt; &lt;/intent-filter&gt; &lt;/receiver&gt; --&gt; &lt;activity android:label="@string/app_name" android:name=".FinderActivity"&gt; &lt;/activity&gt; &lt;service android:name="com.paypal.android.sdk.payments.PayPalService" android:exported="false"/&gt; &lt;!-- paypal stuff --&gt; &lt;activity android:name="com.paypal.android.sdk.payments.PaymentActivity" /&gt; &lt;activity android:name="com.paypal.android.sdk.payments.LoginActivity" /&gt; &lt;activity android:name="com.paypal.android.sdk.payments.PaymentMethodActivity" /&gt; &lt;activity android:name="com.paypal.android.sdk.payments.PaymentConfirmActivity" /&gt; &lt;activity android:name="com.paypal.android.sdk.payments.PaymentCompletedActivity" /&gt; &lt;activity android:name="io.card.payment.CardIOActivity" android:configChanges="keyboardHidden|orientation" /&gt; &lt;activity android:name="io.card.payment.DataEntryActivity" /&gt; &lt;activity android:name="Maps"&gt;&lt;/activity&gt; &lt;meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="AIzaSyBqLKpJk50JUSkm_LYO_p079oqUr3qwert"/&gt; &lt;/application&gt; &lt;/manifest&gt; </code></pre> <p><em><strong></em>**<em>*</em>**<em>*</em>***</strong><em>UPDATE</em><strong><em>*</em>**<em>*</em>**<em>*</em>**<em>*</em>**<em>*</em>*</strong></p> <p>As per @JonSkeet I have changed the Geocoder coder = new Geocoder(this);</p> <p>to Geocoder coder = new Geocoder(getApplicationContext());</p> <p>the logcat now reads:</p> <pre><code>10-15 22:45:50.895: E/AndroidRuntime(2798): FATAL EXCEPTION: main 10-15 22:45:50.895: E/AndroidRuntime(2798): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.indeeditis/com.indeeditis.FinderActivity}: java.lang.NullPointerException 10-15 22:45:50.895: E/AndroidRuntime(2798): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2137) 10-15 22:45:50.895: E/AndroidRuntime(2798): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261) 10-15 22:45:50.895: E/AndroidRuntime(2798): at android.app.ActivityThread.access$600(ActivityThread.java:141) 10-15 22:45:50.895: E/AndroidRuntime(2798): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256) 10-15 22:45:50.895: E/AndroidRuntime(2798): at android.os.Handler.dispatchMessage(Handler.java:99) 10-15 22:45:50.895: E/AndroidRuntime(2798): at android.os.Looper.loop(Looper.java:137) 10-15 22:45:50.895: E/AndroidRuntime(2798): at android.app.ActivityThread.main(ActivityThread.java:5103) 10-15 22:45:50.895: E/AndroidRuntime(2798): at java.lang.reflect.Method.invokeNative(Native Method) 10-15 22:45:50.895: E/AndroidRuntime(2798): at java.lang.reflect.Method.invoke(Method.java:525) 10-15 22:45:50.895: E/AndroidRuntime(2798): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737) 10-15 22:45:50.895: E/AndroidRuntime(2798): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) 10-15 22:45:50.895: E/AndroidRuntime(2798): at dalvik.system.NativeStart.main(Native Method) 10-15 22:45:50.895: E/AndroidRuntime(2798): Caused by: java.lang.NullPointerException 10-15 22:45:50.895: E/AndroidRuntime(2798): at android.content.ContextWrapper.getApplicationContext(ContextWrapper.java:109) 10-15 22:45:50.895: E/AndroidRuntime(2798): at com.indeeditis.FinderActivity.&lt;init&gt;(FinderActivity.java:65) 10-15 22:45:50.895: E/AndroidRuntime(2798): at java.lang.Class.newInstanceImpl(Native Method) 10-15 22:45:50.895: E/AndroidRuntime(2798): at java.lang.Class.newInstance(Class.java:1130) 10-15 22:45:50.895: E/AndroidRuntime(2798): at android.app.Instrumentation.newActivity(Instrumentation.java:1061) 10-15 22:45:50.895: E/AndroidRuntime(2798): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2128) 10-15 22:45:50.895: E/AndroidRuntime(2798): ... 11 more </code></pre> <p>I'm still getting a nullpointer but its not for the geocoder now. </p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload