{"id":7196,"date":"2014-05-27T09:08:10","date_gmt":"2014-05-27T09:08:10","guid":{"rendered":"https:\/\/unknownerror.org\/index.php\/2014\/05\/27\/android-error-window-manager-error-collection-of-common-programming-errors\/"},"modified":"2014-05-27T09:08:10","modified_gmt":"2014-05-27T09:08:10","slug":"android-error-window-manager-error-collection-of-common-programming-errors","status":"publish","type":"post","link":"https:\/\/unknownerror.org\/index.php\/2014\/05\/27\/android-error-window-manager-error-collection-of-common-programming-errors\/","title":{"rendered":"android error &ldquo;Window Manager Error&rdquo;-Collection of common programming errors"},"content":{"rendered":"<p>What is this error, and why does it happen? Please explain and solve. This is sample from &#8220;androidhive&#8221;. I need help for my thesis because of my thesis android app is to store data at web server.<\/p>\n<pre><code>12-10 10:08:09.556: W\/System.err(401): org.apache.http.conn.HttpHostConnectException: Connection to http:\/\/localhost refused\n12-10 10:08:09.556: W\/System.err(401): org.apache.http.conn.HttpHostConnectException: Connection to http:\/\/localhost refused\n12-10 10:08:09.686: W\/System.err(401):  at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:178)\n12-10 10:08:10.066: E\/Buffer Error(401): Error converting result java.lang.NullPointerException\n12-10 10:08:10.086: E\/JSON Parser(401): Error parsing data org.json.JSONException: End of input at character 0 of \n12-10 10:08:10.086: W\/dalvikvm(401): threadid=9: thread exiting with uncaught exception (group=0x40015560)\n12-10 10:08:10.096: E\/AndroidRuntime(401): FATAL EXCEPTION: AsyncTask #1\n12-10 10:08:10.096: E\/AndroidRuntime(401): java.lang.RuntimeException: An error occured while executing doInBackground()\n12-10 10:08:10.096: E\/AndroidRuntime(401):  at android.os.AsyncTask$3.done(AsyncTask.java:200)\n12-10 10:08:10.096: E\/AndroidRuntime(401):  at java.util.concurrent.FutureTask$Sync.innerSetException(FutureTask.java:274)\n12-10 10:08:10.096: E\/AndroidRuntime(401):  at java.util.concurrent.FutureTask.setException(FutureTask.java:125)\n12-10 10:08:10.096: E\/AndroidRuntime(401):  at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:308)\n12-10 10:08:10.096: E\/AndroidRuntime(401):  at java.util.concurrent.FutureTask.run(FutureTask.java:138)\n12-10 10:08:10.096: E\/AndroidRuntime(401):  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1088)\n12-10 10:08:10.096: E\/AndroidRuntime(401):  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:581)\n12-10 10:08:10.096: E\/AndroidRuntime(401):  at java.lang.Thread.run(Thread.java:1019)\n12-10 10:08:10.096: E\/AndroidRuntime(401): Caused by: java.lang.NullPointerException\n12-10 10:08:10.096: E\/AndroidRuntime(401):  at com.example.androidconnect.AllProductsActivity$LoadAllProducts.doInBackground(AllProductsActivity.java:131)\n12-10 10:08:10.096: E\/AndroidRuntime(401):  at com.example.androidconnect.AllProductsActivity$LoadAllProducts.doInBackground(AllProductsActivity.java:1)\n12-10 10:08:10.096: E\/AndroidRuntime(401):  at android.os.AsyncTask$2.call(AsyncTask.java:185)\n12-10 10:08:10.096: E\/AndroidRuntime(401):  at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:306)\n12-10 10:08:10.096: E\/AndroidRuntime(401):  ... 4 more\n12-10 10:08:10.786: E\/WindowManager(401): Activity com.example.androidconnect.AllProductsActivity has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView@4052a218 that was originally added here\n12-10 10:08:10.786: E\/WindowManager(401): android.view.WindowLeaked: Activity com.example.androidconnect.AllProductsActivity has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView@4052a218 that was originally added here\n12-10 10:08:10.786: E\/WindowManager(401):   at android.view.ViewRoot.(ViewRoot.java:258)\n12-10 10:08:10.786: E\/WindowManager(401):   at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:148)\n12-10 10:08:10.786: E\/WindowManager(401):   at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:91)\n12-10 10:08:10.786: E\/WindowManager(401):   at android.view.Window$LocalWindowManager.addView(Window.java:424)\n12-10 10:08:10.786: E\/WindowManager(401):   at android.app.Dialog.show(Dialog.java:241)\n12-10 10:08:10.786: E\/WindowManager(401):   at com.example.androidconnect.AllProductsActivity$LoadAllProducts.onPreExecute(AllProductsActivity.java:117)\n12-10 10:08:10.786: E\/WindowManager(401):   at android.os.AsyncTask.execute(AsyncTask.java:391)\n12-10 10:08:10.786: E\/WindowManager(401):   at com.example.androidconnect.AllProductsActivity.onCreate(AllProductsActivity.java:57)\n12-10 10:08:10.786: E\/WindowManager(401):   at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)\n12-10 10:08:10.786: E\/WindowManager(401):   at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)\n12-10 10:08:10.786: E\/WindowManager(401):   at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)\n12-10 10:08:10.786: E\/WindowManager(401):   at android.app.ActivityThread.access$1500(ActivityThread.java:117)\n12-10 10:08:10.786: E\/WindowManager(401):   at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)\n12-10 10:08:10.786: E\/WindowManager(401):   at android.os.Handler.dispatchMessage(Handler.java:99)\n12-10 10:08:10.786: E\/WindowManager(401):   at android.os.Looper.loop(Looper.java:123)\n12-10 10:08:10.786: E\/WindowManager(401):   at android.app.ActivityThread.main(ActivityThread.java:3683)\n12-10 10:08:10.786: E\/WindowManager(401):   at java.lang.reflect.Method.invokeNative(Native Method)\n12-10 10:08:10.786: E\/WindowManager(401):   at java.lang.reflect.Method.invoke(Method.java:507)\n12-10 10:08:10.786: E\/WindowManager(401):   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)\n12-10 10:08:10.786: E\/WindowManager(401):   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)\n12-10 10:08:10.786: E\/WindowManager(401):   at dalvik.system.NativeStart.main(Native Method)\n12-10 10:08:12.106: I\/Process(401): Sending signal. PID: 401 SIG: 9\n<\/code><\/pre>\n<p>help me please and sample code from &#8220;http:\/\/www.androidhive.info\/2012\/05\/how-to-connect-android-with-php-mysql\/&#8221;<\/p>\n<p>MainScreenActivity.java<\/p>\n<pre><code>package com.example.androidconnect;\nimport android.os.Bundle;\nimport android.app.Activity;\nimport android.content.Intent;\nimport android.view.View;\nimport android.widget.Button;\npublic class MainScreenActivity extends Activity {\n\nButton btnViewProducts;\nButton btnNewProduct;\n\n@Override\npublic void onCreate(Bundle savedInstanceState) {\n    super.onCreate(savedInstanceState);\n    setContentView(R.layout.main_screen);\n\n    \/\/ Buttons\n    btnViewProducts = (Button) findViewById(R.id.btnViewProducts);\n    btnNewProduct = (Button) findViewById(R.id.btnCreateProduct);\n\n    \/\/ view products click event\n    btnViewProducts.setOnClickListener(new View.OnClickListener() {\n\n        @Override\n        public void onClick(View view) {\n            \/\/ Launching All products Activity\n            Intent i = new Intent(getApplicationContext(), AllProductsActivity.class);\n            startActivity(i);\n\n        }\n    });\n\n    \/\/ view products click event\n    btnNewProduct.setOnClickListener(new View.OnClickListener() {\n\n        @Override\n        public void onClick(View view) {\n            \/\/ Launching create new product activity\n            Intent i = new Intent(getApplicationContext(), NewProductActivity.class);\n            startActivity(i);\n\n        }\n    });\n}}\n<\/code><\/pre>\n<p>AllPrductsActivity.java<\/p>\n<pre><code>package com.example.androidconnect;\nimport java.util.ArrayList;\nimport java.util.HashMap;\nimport java.util.List;\nimport org.apache.http.NameValuePair;\nimport org.json.JSONArray;\nimport org.json.JSONException;\nimport org.json.JSONObject;\nimport android.app.ListActivity;\nimport android.app.ProgressDialog;\nimport android.content.Intent;\nimport android.os.AsyncTask;\nimport android.os.Bundle;\nimport android.util.Log;\nimport android.view.View;\nimport android.widget.AdapterView;\nimport android.widget.AdapterView.OnItemClickListener;\nimport android.widget.ListAdapter;\nimport android.widget.ListView;\nimport android.widget.SimpleAdapter;\nimport android.widget.TextView;\npublic class AllProductsActivity extends ListActivity {\n\n\/\/ Progress Dialog\nprivate ProgressDialog pDialog;\n\n\/\/ Creating JSON Parser object\nJSONParser jParser = new JSONParser();\n\nArrayList productsList;\n\n\/\/ url to get all products list\nprivate static String url_all_products = \"http:\/\/localhost\/android_connect\/get_all_products.php\";\n\n\/\/ JSON Node names\nprivate static final String TAG_SUCCESS = \"success\";\nprivate static final String TAG_PRODUCTS = \"products\";\nprivate static final String TAG_PID = \"pid\";\nprivate static final String TAG_NAME = \"name\";\n\n\/\/ products JSONArray\nJSONArray products = null;\n\n@Override\npublic void onCreate(Bundle savedInstanceState) {\n    super.onCreate(savedInstanceState);\n    setContentView(R.layout.all_products);\n\n    \/\/ Hashmap for ListView\n    productsList = new ArrayList();\n\n    \/\/ Loading products in Background Thread\n    new LoadAllProducts().execute();\n\n    \/\/ Get listview\n    ListView lv = getListView();\n\n    \/\/ on seleting single product\n    \/\/ launching Edit Product Screen\n    lv.setOnItemClickListener(new OnItemClickListener() {\n\n        @Override\n        public void onItemClick(AdapterView parent, View view,\n                int position, long id) {\n            \/\/ getting values from selected ListItem\n            String pid = ((TextView) view.findViewById(R.id.pid)).getText()\n                    .toString();\n\n            \/\/ Starting new intent\n            Intent in = new Intent(getApplicationContext(),\n                    EditProductActivity.class);\n            \/\/ sending pid to next activity\n            in.putExtra(TAG_PID, pid);\n\n            \/\/ starting new activity and expecting some response back\n            startActivityForResult(in, 100);\n        }\n    });\n\n}\n\n\/\/ Response from Edit Product Activity\n@Override\nprotected void onActivityResult(int requestCode, int resultCode, Intent data) {\n    super.onActivityResult(requestCode, resultCode, data);\n    \/\/ if result code 100\n    if (resultCode == 100) {\n        \/\/ if result code 100 is received\n        \/\/ means user edited\/deleted product\n        \/\/ reload this screen again\n        Intent intent = getIntent();\n        finish();\n        startActivity(intent);\n    }\n\n}\n\n\/**\n * Background Async Task to Load all product by making HTTP Request\n * *\/\nclass LoadAllProducts extends AsyncTask {\n\n    \/**\n     * Before starting background thread Show Progress Dialog\n     * *\/\n    @Override\n    protected void onPreExecute() {\n        super.onPreExecute();\n        pDialog = new ProgressDialog(AllProductsActivity.this);\n        pDialog.setMessage(\"Loading products. Please wait...\");\n        pDialog.setIndeterminate(false);\n        pDialog.setCancelable(false);\n        pDialog.show();\n    }\n\n    \/**\n     * getting All products from url\n     * *\/\n    protected String doInBackground(String... args) {\n        \/\/ Building Parameters\n        List params = new ArrayList();\n        \/\/ getting JSON string from URL\n        JSONObject json = jParser.makeHttpRequest(url_all_products, \"GET\",\n                params);\n\n        \/\/ Check your log cat for JSON reponse\n        Log.d(\"All Products: \", json.toString());\n\n        try {\n            \/\/ Checking for SUCCESS TAG\n            int success = json.getInt(TAG_SUCCESS);\n\n            if (success == 1) {\n                \/\/ products found\n                \/\/ Getting Array of Products\n                products = json.getJSONArray(TAG_PRODUCTS);\n\n                \/\/ looping through All Products\n                for (int i = 0; i &lt; products.length(); i++) {\n                    JSONObject c = products.getJSONObject(i);\n\n                    \/\/ Storing each json item in variable\n                    String id = c.getString(TAG_PID);\n                    String name = c.getString(TAG_NAME);\n\n                    \/\/ creating new HashMap\n                    HashMap map = new HashMap();\n\n                    \/\/ adding each child node to HashMap key =&gt; value\n                    map.put(TAG_PID, id);\n                    map.put(TAG_NAME, name);\n\n                    \/\/ adding HashList to ArrayList\n                    productsList.add(map);\n                }\n            } else {\n                \/\/ no products found\n                \/\/ Launch Add New product Activity\n                Intent i = new Intent(getApplicationContext(),\n                        NewProductActivity.class);\n                \/\/ Closing all previous activities\n                i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);\n                startActivity(i);\n            }\n        } catch (JSONException e) {\n            e.printStackTrace();\n        }\n\n        return null;\n    }\n\n    \/**\n     * After completing background task Dismiss the progress dialog\n     * **\/\n    protected void onPostExecute(String file_url) {\n        \/\/ dismiss the dialog after getting all products\n        pDialog.dismiss();\n        \/\/ updating UI from Background Thread\n        runOnUiThread(new Runnable() {\n            public void run() {\n                \/**\n                 * Updating parsed JSON data into ListView\n                 * *\/\n                ListAdapter adapter = new SimpleAdapter(\n                        AllProductsActivity.this, productsList,\n                        R.layout.list_item, new String[] { TAG_PID,\n                                TAG_NAME },\n                        new int[] { R.id.pid, R.id.name });\n                \/\/ updating listview\n                setListAdapter(adapter);\n            }\n        });\n\n    }\n<\/code><\/pre>\n<p>}}<\/p>\n<p>NewProductActivity.java<\/p>\n<pre><code>package com.example.androidconnect;\nimport java.util.ArrayList;\nimport java.util.List;\nimport org.apache.http.NameValuePair;\nimport org.apache.http.message.BasicNameValuePair;\nimport org.json.JSONException;\nimport org.json.JSONObject;\nimport android.app.Activity;\nimport android.app.ProgressDialog;\nimport android.content.Intent;\nimport android.os.AsyncTask;\nimport android.os.Bundle;\nimport android.util.Log;\nimport android.view.View;\nimport android.widget.Button;\nimport android.widget.EditText;\npublic class NewProductActivity extends Activity {\n\n\/\/ Progress Dialog\nprivate ProgressDialog pDialog;\n\nJSONParser jsonParser = new JSONParser();\nEditText inputName;\nEditText inputPrice;\nEditText inputDesc;\n\n\/\/ url to create new product\nprivate static String url_create_product = \"localhost\/android_connect\/create_product.php\";\n\n\/\/ JSON Node names\nprivate static final String TAG_SUCCESS = \"success\";\n\n@Override\npublic void onCreate(Bundle savedInstanceState) {\n    super.onCreate(savedInstanceState);\n    setContentView(R.layout.add_product);\n\n    \/\/ Edit Text\n    inputName = (EditText) findViewById(R.id.inputName);\n    inputPrice = (EditText) findViewById(R.id.inputPrice);\n    inputDesc = (EditText) findViewById(R.id.inputDesc);\n\n    \/\/ Create button\n    Button btnCreateProduct = (Button) findViewById(R.id.btnCreateProduct);\n\n    \/\/ button click event\n    btnCreateProduct.setOnClickListener(new View.OnClickListener() {\n\n        @Override\n        public void onClick(View view) {\n            \/\/ creating new product in background thread\n            new CreateNewProduct().execute();\n        }\n    });\n}\n\n\/**\n * Background Async Task to Create new product\n * *\/\nclass CreateNewProduct extends AsyncTask {\n\n    \/**\n     * Before starting background thread Show Progress Dialog\n     * *\/\n    @Override\n    protected void onPreExecute() {\n        super.onPreExecute();\n        pDialog = new ProgressDialog(NewProductActivity.this);\n        pDialog.setMessage(\"Creating Product..\");\n        pDialog.setIndeterminate(false);\n        pDialog.setCancelable(true);\n        pDialog.show();\n    }\n\n    \/**\n     * Creating product\n     * *\/\n    protected String doInBackground(String... args) {\n        String name = inputName.getText().toString();\n        String price = inputPrice.getText().toString();\n        String description = inputDesc.getText().toString();\n\n        \/\/ Building Parameters\n        List params = new ArrayList();\n        params.add(new BasicNameValuePair(\"name\", name));\n        params.add(new BasicNameValuePair(\"price\", price));\n        params.add(new BasicNameValuePair(\"description\", description));\n\n        \/\/ getting JSON Object\n        \/\/ Note that create product url accepts POST method\n        JSONObject json = jsonParser.makeHttpRequest(url_create_product,\n                \"POST\", params);\n\n        \/\/ check log cat fro response\n        Log.d(\"Create Response\", json.toString());\n\n        \/\/ check for success tag\n        try {\n            int success = json.getInt(TAG_SUCCESS);\n\n            if (success == 1) {\n                \/\/ successfully created product\n                Intent i = new Intent(getApplicationContext(),\n                        AllProductsActivity.class);\n                startActivity(i);\n\n                \/\/ closing this screen\n                finish();\n            } else {\n                \/\/ failed to create product\n            }\n        } catch (JSONException e) {\n            e.printStackTrace();\n        }\n\n        return null;\n    }\n\n    \/**\n     * After completing background task Dismiss the progress dialog\n     * **\/\n    protected void onPostExecute(String file_url) {\n        \/\/ dismiss the dialog once done\n        pDialog.dismiss();\n    }\n\n}}\n<\/code><\/pre>\n<p>EditProductActivity.java<\/p>\n<pre><code>package com.example.androidconnect;\nimport java.util.ArrayList;\nimport java.util.List;\nimport org.apache.http.NameValuePair;\nimport org.apache.http.message.BasicNameValuePair;\nimport org.json.JSONArray;\nimport org.json.JSONException;\nimport org.json.JSONObject;\nimport android.app.Activity;\nimport android.app.ProgressDialog;\nimport android.content.Intent;\nimport android.os.AsyncTask;\nimport android.os.Bundle;\nimport android.util.Log;\nimport android.view.View;\nimport android.widget.Button;\nimport android.widget.EditText;\npublic class EditProductActivity extends Activity {\n\nEditText txtName;\nEditText txtPrice;\nEditText txtDesc;\nEditText txtCreatedAt;\nButton btnSave;\nButton btnDelete;\n\nString pid;\n\n\/\/ Progress Dialog\nprivate ProgressDialog pDialog;\n\n\/\/ JSON parser class\nJSONParser jsonParser = new JSONParser();\n\n\/\/ single product url\nprivate static final String url_product_detials = \"localhost\/android_connect\/get_all_products.php\";\n\n\/\/ url to update product\nprivate static final String url_update_product = \"localhost\/android_connect\/update_product.php\";\n\n\/\/ url to delete product\nprivate static final String url_delete_product = \"localhost\/android_connect\/delete_product.php\";\n\n\/\/ JSON Node names\nprivate static final String TAG_SUCCESS = \"success\";\nprivate static final String TAG_PRODUCT = \"product\";\nprivate static final String TAG_PID = \"pid\";\nprivate static final String TAG_NAME = \"name\";\nprivate static final String TAG_PRICE = \"price\";\nprivate static final String TAG_DESCRIPTION = \"description\";\n\n@Override\npublic void onCreate(Bundle savedInstanceState) {\n    super.onCreate(savedInstanceState);\n    setContentView(R.layout.edit_product);\n\n    \/\/ save button\n    btnSave = (Button) findViewById(R.id.btnSave);\n    btnDelete = (Button) findViewById(R.id.btnDelete);\n\n    \/\/ getting product details from intent\n    Intent i = getIntent();\n\n    \/\/ getting product id (pid) from intent\n    pid = i.getStringExtra(TAG_PID);\n\n    \/\/ Getting complete product details in background thread\n    new GetProductDetails().execute();\n\n    \/\/ save button click event\n    btnSave.setOnClickListener(new View.OnClickListener() {\n\n        @Override\n        public void onClick(View arg0) {\n            \/\/ starting background task to update product\n            new SaveProductDetails().execute();\n        }\n    });\n\n    \/\/ Delete button click event\n    btnDelete.setOnClickListener(new View.OnClickListener() {\n\n        @Override\n        public void onClick(View arg0) {\n            \/\/ deleting product in background thread\n            new DeleteProduct().execute();\n        }\n    });\n\n}\n\n\/**\n * Background Async Task to Get complete product details\n * *\/\nclass GetProductDetails extends AsyncTask {\n\n    \/**\n     * Before starting background thread Show Progress Dialog\n     * *\/\n    @Override\n    protected void onPreExecute() {\n        super.onPreExecute();\n        pDialog = new ProgressDialog(EditProductActivity.this);\n        pDialog.setMessage(\"Loading product details. Please wait...\");\n        pDialog.setIndeterminate(false);\n        pDialog.setCancelable(true);\n        pDialog.show();\n    }\n\n    \/**\n     * Getting product details in background thread\n     * *\/\n    protected String doInBackground(String... params) {\n\n        \/\/ updating UI from Background Thread\n        runOnUiThread(new Runnable() {\n            public void run() {\n                \/\/ Check for success tag\n                int success;\n                try {\n                    \/\/ Building Parameters\n                    List params = new ArrayList();\n                    params.add(new BasicNameValuePair(\"pid\", pid));\n\n                    \/\/ getting product details by making HTTP request\n                    \/\/ Note that product details url will use GET request\n                    JSONObject json = jsonParser.makeHttpRequest(\n                            url_product_detials, \"GET\", params);\n\n                    \/\/ check your log for json response\n                    Log.d(\"Single Product Details\", json.toString());\n\n                    \/\/ json success tag\n                    success = json.getInt(TAG_SUCCESS);\n                    if (success == 1) {\n                        \/\/ successfully received product details\n                        JSONArray productObj = json\n                                .getJSONArray(TAG_PRODUCT); \/\/ JSON Array\n\n                        \/\/ get first product object from JSON Array\n                        JSONObject product = productObj.getJSONObject(0);\n\n                        \/\/ product with this pid found\n                        \/\/ Edit Text\n                        txtName = (EditText) findViewById(R.id.inputName);\n                        txtPrice = (EditText) findViewById(R.id.inputPrice);\n                        txtDesc = (EditText) findViewById(R.id.inputDesc);\n\n                        \/\/ display product data in EditText\n                        txtName.setText(product.getString(TAG_NAME));\n                        txtPrice.setText(product.getString(TAG_PRICE));\n                        txtDesc.setText(product.getString(TAG_DESCRIPTION));\n\n                    } else {\n                        \/\/ product with pid not found\n                    }\n                } catch (JSONException e) {\n                    e.printStackTrace();\n                }\n            }\n        });\n\n        return null;\n    }\n\n    \/**\n     * After completing background task Dismiss the progress dialog\n     * **\/\n    protected void onPostExecute(String file_url) {\n        \/\/ dismiss the dialog once got all details\n        pDialog.dismiss();\n    }\n}\n\n\/**\n * Background Async Task to Save product Details\n * *\/\nclass SaveProductDetails extends AsyncTask {\n\n    \/**\n     * Before starting background thread Show Progress Dialog\n     * *\/\n    @Override\n    protected void onPreExecute() {\n        super.onPreExecute();\n        pDialog = new ProgressDialog(EditProductActivity.this);\n        pDialog.setMessage(\"Saving product ...\");\n        pDialog.setIndeterminate(false);\n        pDialog.setCancelable(true);\n        pDialog.show();\n    }\n\n    \/**\n     * Saving product\n     * *\/\n    protected String doInBackground(String... args) {\n\n        \/\/ getting updated data from EditTexts\n        String name = txtName.getText().toString();\n        String price = txtPrice.getText().toString();\n        String description = txtDesc.getText().toString();\n\n        \/\/ Building Parameters\n        List params = new ArrayList();\n        params.add(new BasicNameValuePair(TAG_PID, pid));\n        params.add(new BasicNameValuePair(TAG_NAME, name));\n        params.add(new BasicNameValuePair(TAG_PRICE, price));\n        params.add(new BasicNameValuePair(TAG_DESCRIPTION, description));\n\n        \/\/ sending modified data through http request\n        \/\/ Notice that update product url accepts POST method\n        JSONObject json = jsonParser.makeHttpRequest(url_update_product,\n                \"POST\", params);\n\n        \/\/ check json success tag\n        try {\n            int success = json.getInt(TAG_SUCCESS);\n\n            if (success == 1) {\n                \/\/ successfully updated\n                Intent i = getIntent();\n                \/\/ send result code 100 to notify about product update\n                setResult(100, i);\n                finish();\n            } else {\n                \/\/ failed to update product\n            }\n        } catch (JSONException e) {\n            e.printStackTrace();\n        }\n\n        return null;\n    }\n\n    \/**\n     * After completing background task Dismiss the progress dialog\n     * **\/\n    protected void onPostExecute(String file_url) {\n        \/\/ dismiss the dialog once product uupdated\n        pDialog.dismiss();\n    }\n}\n\n\/*****************************************************************\n * Background Async Task to Delete Product\n * *\/\nclass DeleteProduct extends AsyncTask {\n\n    \/**\n     * Before starting background thread Show Progress Dialog\n     * *\/\n    @Override\n    protected void onPreExecute() {\n        super.onPreExecute();\n        pDialog = new ProgressDialog(EditProductActivity.this);\n        pDialog.setMessage(\"Deleting Product...\");\n        pDialog.setIndeterminate(false);\n        pDialog.setCancelable(true);\n        pDialog.show();\n    }\n\n    \/**\n     * Deleting product\n     * *\/\n    protected String doInBackground(String... args) {\n\n        \/\/ Check for success tag\n        int success;\n        try {\n            \/\/ Building Parameters\n            List params = new ArrayList();\n            params.add(new BasicNameValuePair(\"pid\", pid));\n\n            \/\/ getting product details by making HTTP request\n            JSONObject json = jsonParser.makeHttpRequest(\n                    url_delete_product, \"POST\", params);\n\n            \/\/ check your log for json response\n            Log.d(\"Delete Product\", json.toString());\n\n            \/\/ json success tag\n            success = json.getInt(TAG_SUCCESS);\n            if (success == 1) {\n                \/\/ product successfully deleted\n                \/\/ notify previous activity by sending code 100\n                Intent i = getIntent();\n                \/\/ send result code 100 to notify about product deletion\n                setResult(100, i);\n                finish();\n            }\n        } catch (JSONException e) {\n            e.printStackTrace();\n        }\n\n        return null;\n    }\n\n    \/**\n     * After completing background task Dismiss the progress dialog\n     * **\/\n    protected void onPostExecute(String file_url) {\n        \/\/ dismiss the dialog once product deleted\n        pDialog.dismiss();\n\n    }\n\n}}\n<\/code><\/pre>\n<p>JSONParser.java<\/p>\n<pre><code>package com.example.androidconnect;\nimport java.io.BufferedReader;\nimport java.io.IOException;\nimport java.io.InputStream;\nimport java.io.InputStreamReader;\nimport java.io.UnsupportedEncodingException;\nimport java.util.List;\nimport org.apache.http.HttpEntity;\nimport org.apache.http.HttpResponse;\nimport org.apache.http.NameValuePair;\nimport org.apache.http.client.ClientProtocolException;\nimport org.apache.http.client.entity.UrlEncodedFormEntity;\nimport org.apache.http.client.methods.HttpGet;\nimport org.apache.http.client.methods.HttpPost;\nimport org.apache.http.client.utils.URLEncodedUtils;\nimport org.apache.http.impl.client.DefaultHttpClient;\nimport org.json.JSONException;\nimport org.json.JSONObject;\nimport android.util.Log;\npublic class JSONParser {\n\nstatic InputStream is = null;\nstatic JSONObject jObj = null;\nstatic String json = \"\";\n\n\/\/ constructor\npublic JSONParser() {\n\n}\n\n\/\/ function get json from url\n\/\/ by making HTTP POST or GET mehtod\npublic JSONObject makeHttpRequest(String url, String method,\n        List params) {\n\n    \/\/ Making HTTP request\n    try {\n\n        \/\/ check for request method\n        if (method == \"POST\") {\n            \/\/ request method is POST\n            \/\/ defaultHttpClient\n            DefaultHttpClient httpClient = new DefaultHttpClient();\n            HttpPost httpPost = new HttpPost(url);\n            httpPost.setEntity(new UrlEncodedFormEntity(params));\n\n            HttpResponse httpResponse = httpClient.execute(httpPost);\n            HttpEntity httpEntity = httpResponse.getEntity();\n            is = httpEntity.getContent();\n\n        } else if (method == \"GET\") {\n            \/\/ request method is GET\n            DefaultHttpClient httpClient = new DefaultHttpClient();\n            String paramString = URLEncodedUtils.format(params, \"utf-8\");\n            url += \"?\" + paramString;\n            HttpGet httpGet = new HttpGet(url);\n\n            HttpResponse httpResponse = httpClient.execute(httpGet);\n            HttpEntity httpEntity = httpResponse.getEntity();\n            is = httpEntity.getContent();\n        }\n\n    } catch (UnsupportedEncodingException e) {\n        e.printStackTrace();\n    } catch (ClientProtocolException e) {\n        e.printStackTrace();\n    } catch (IOException e) {\n        e.printStackTrace();\n    }\n\n    try {\n        BufferedReader reader = new BufferedReader(new InputStreamReader(\n                is, \"iso-8859-1\"), 8);\n        StringBuilder sb = new StringBuilder();\n        String line = null;\n        while ((line = reader.readLine()) != null) {\n            sb.append(line + \"\\n\");\n        }\n        is.close();\n        json = sb.toString();\n    } catch (Exception e) {\n        Log.e(\"Buffer Error\", \"Error converting result \" + e.toString());\n    }\n\n    \/\/ try parse the string to a JSON object\n    try {\n        jObj = new JSONObject(json);\n    } catch (JSONException e) {\n        Log.e(\"JSON Parser\", \"Error parsing data \" + e.toString());\n    }\n\n    \/\/ return JSON String\n    return jObj;\n\n}}\n<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>What is this error, and why does it happen? Please explain and solve. This is sample from &#8220;androidhive&#8221;. I need help for my thesis because of my thesis android app is to store data at web server. 12-10 10:08:09.556: W\/System.err(401): org.apache.http.conn.HttpHostConnectException: Connection to http:\/\/localhost refused 12-10 10:08:09.556: W\/System.err(401): org.apache.http.conn.HttpHostConnectException: Connection to http:\/\/localhost refused 12-10 10:08:09.686: [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-7196","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/posts\/7196","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/comments?post=7196"}],"version-history":[{"count":0,"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/posts\/7196\/revisions"}],"wp:attachment":[{"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/media?parent=7196"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/categories?post=7196"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/tags?post=7196"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}