Note that there are some explanatory texts on larger screens.

plurals
  1. POandroid asynctask giving networkonmainthread exception
    text
    copied!<pre><code>case R.id.bus_item: new GetProductDetails().execute(); CharSequence coordinates[] = {tvlat.getText(),tvlong.getText()}; double lat = Double.parseDouble((String) coordinates[0]); double lng = Double.parseDouble((String) coordinates[1]); GeoPoint p = new GeoPoint((int)(lat * 1E6),(int)(lng * 1E6)); mc.animateTo(p); mc.setZoom(18); mapView.invalidate(); </code></pre> <p>netwok code</p> <pre><code>class GetProductDetails extends AsyncTask&lt;String, String, String&gt; { /** * Before starting background thread Show Progress Dialog * */ @Override protected void onPreExecute() { super.onPreExecute(); pDialog = new ProgressDialog(MapSimple.this); pDialog.setMessage("Loading location details. Please wait..."); pDialog.setIndeterminate(false); pDialog.setCancelable(true); pDialog.show(); } /** * Getting product details in background thread * */ protected String doInBackground(String... params) { // updating UI from Background Thread runOnUiThread(new Runnable() { public void run() { // Check for success tag int success; try { // Building Parameters List&lt;NameValuePair&gt; params = new ArrayList&lt;NameValuePair&gt;(); //params.add(new BasicNameValuePair("pid", pid)); // getting product details by making HTTP request // Note that product details url will use GET request JSONObject json = jsonParser.makeHttpRequest( url_product_detials, "GET", params); // check your log for json response Log.d("Single Product Details", json.toString()); // json success tag success = json.getInt(TAG_SUCCESS); if (success == 1) { // successfully received product details JSONArray productObj = json .getJSONArray(TAG_LOCATION); // JSON Array // get first product object from JSON Array JSONObject product = productObj.getJSONObject(0); // product with this pid found // Edit Text //txtName = (EditText) findViewById(R.id.inputName); tvlat = (TextView)findViewById(R.id.tv_lat1); tvlong = (TextView)findViewById(R.id.tv_long1); // display product data in EditText tvlat.setText(product.getString(TAG_LAT)); tvlong.setText(product.getString(TAG_LONG)); }else{ // product with pid not found } } catch (JSONException e) { e.printStackTrace(); } } }); return null; } /** * After completing background task Dismiss the progress dialog * **/ protected void onPostExecute(String file_url) { // dismiss the dialog once got all details pDialog.dismiss(); } } </code></pre> <p>Logcat</p> <pre><code>12-04 09:41:22.038: W/dalvikvm(841): threadid=1: thread exiting with uncaught exception (group=0x409c01f8) 12-04 09:41:22.088: E/AndroidRuntime(841): FATAL EXCEPTION: main 12-04 09:41:22.088: E/AndroidRuntime(841): android.os.NetworkOnMainThreadException 12-04 09:41:22.088: E/AndroidRuntime(841): at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1099) 12-04 09:41:22.088: E/AndroidRuntime(841): at libcore.io.BlockGuardOs.connect(BlockGuardOs.java:84) 12-04 09:41:22.088: E/AndroidRuntime(841): at libcore.io.IoBridge.connectErrno(IoBridge.java:127) 12-04 09:41:22.088: E/AndroidRuntime(841): at libcore.io.IoBridge.connect(IoBridge.java:112) 12-04 09:41:22.088: E/AndroidRuntime(841): at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:192) 12-04 09:41:22.088: E/AndroidRuntime(841): at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:459) 12-04 09:41:22.088: E/AndroidRuntime(841): at java.net.Socket.connect(Socket.java:842) 12-04 09:41:22.088: E/AndroidRuntime(841): at org.apache.http.conn.scheme.PlainSocketFactory.connectSocket(PlainSocketFactory.java:119) 12-04 09:41:22.088: E/AndroidRuntime(841): at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:144) 12-04 09:41:22.088: E/AndroidRuntime(841): at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:164) 12-04 09:41:22.088: E/AndroidRuntime(841): at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:119) 12-04 09:41:22.088: E/AndroidRuntime(841): at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:360) 12-04 09:41:22.088: E/AndroidRuntime(841): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:555) 12-04 09:41:22.088: E/AndroidRuntime(841): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:487) 12-04 09:41:22.088: E/AndroidRuntime(841): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:465) 12-04 09:41:22.088: E/AndroidRuntime(841): at com.aunsync_alpha.JSONParser.makeHttpRequest(JSONParser.java:62) 12-04 09:41:22.088: E/AndroidRuntime(841): at com.aunsync_alpha.MapSimple$GetProductDetails$1.run(MapSimple.java:135) 12-04 09:41:22.088: E/AndroidRuntime(841): at android.os.Handler.handleCallback(Handler.java:605) 12-04 09:41:22.088: E/AndroidRuntime(841): at android.os.Handler.dispatchMessage(Handler.java:92) 12-04 09:41:22.088: E/AndroidRuntime(841): at android.os.Looper.loop(Looper.java:137) 12-04 09:41:22.088: E/AndroidRuntime(841): at android.app.ActivityThread.main(ActivityThread.java:4424) 12-04 09:41:22.088: E/AndroidRuntime(841): at java.lang.reflect.Method.invokeNative(Native Method) 12-04 09:41:22.088: E/AndroidRuntime(841): at java.lang.reflect.Method.invoke(Method.java:511) 12-04 09:41:22.088: E/AndroidRuntime(841): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784) 12-04 09:41:22.088: E/AndroidRuntime(841): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551) 12-04 09:41:22.088: E/AndroidRuntime(841): at dalvik.system.NativeStart.main(Native Method) </code></pre> <p>the code is returning the networkonmainthread error. But there is an async in the code. Please help.</p>
 

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