Here the LogCat
08-08 11:30:56.913: E/AndroidRuntime(821): FATAL EXCEPTION: AsyncTask #1 08-08 11:30:56.913: E/AndroidRuntime(821): java.lang.RuntimeException: An error occured while executing doInBackground() 08-08 11:30:56.913: E/AndroidRuntime(821): at android.os.AsyncTask$3.done(AsyncTask.java:278) 08-08 11:30:56.913: E/AndroidRuntime(821): at java.util.concurrent.FutureTask$Sync.innerSetException(FutureTask.java:273) 08-08 11:30:56.913: E/AndroidRuntime(821): at java.util.concurrent.FutureTask.setException(FutureTask.java:124) 08-08 11:30:56.913: E/AndroidRuntime(821): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:307) 08-08 11:30:56.913: E/AndroidRuntime(821): at java.util.concurrent.FutureTask.run(FutureTask.java:137) 08-08 11:30:56.913: E/AndroidRuntime(821): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076) 08-08 11:30:56.913: E/AndroidRuntime(821): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569) 08-08 11:30:56.913: E/AndroidRuntime(821): at java.lang.Thread.run(Thread.java:856) 08-08 11:30:56.913: E/AndroidRuntime(821): Caused by: java.lang.NullPointerException 08-08 11:30:56.913: E/AndroidRuntime(821): at com.example.androidhive.AllOrderActivity$LoadAllProducts.doInBackground(AllOrderActivity.java:172) 08-08 11:30:56.913: E/AndroidRuntime(821): at com.example.androidhive.AllOrderActivity$LoadAllProducts.doInBackground(AllOrderActivity.java:1) 08-08 11:30:56.913: E/AndroidRuntime(821): at android.os.AsyncTask$2.call(AsyncTask.java:264) 08-08 11:30:56.913: E/AndroidRuntime(821): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305) 08-08 11:30:56.913: E/AndroidRuntime(821): ... 4 more 08-08 11:30:59.824: E/WindowManager(821): Activity com.example.androidhive.AllOrderActivity has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView@410373f0 that was originally added here On Wed, Aug 8, 2012 at 11:49 AM, Ambika Kulkarni <[email protected] > wrote: > Dear All, > > I am getting FATAL EXCEPTION : AsyncTask #1 this error in the log cat. I > am interacting with the MySQL DB and I am using PHP stuff also. > > I am able to run the code on AVD 2.2, if i change the AVD to 4.0.3 then > this error is displaying. > > JSON Parser class > > package com.example.androidhive.library; > > import java.io.BufferedReader; > import java.io.IOException; > import java.io.InputStream; > import java.io.InputStreamReader; > import java.io.UnsupportedEncodingException; > import java.util.List; > > import org.apache.http.HttpEntity; > import org.apache.http.HttpResponse; > import org.apache.http.NameValuePair; > import org.apache.http.client.ClientProtocolException; > import org.apache.http.client.entity.UrlEncodedFormEntity; > import org.apache.http.client.methods.HttpPost; > import org.apache.http.impl.client.DefaultHttpClient; > import org.json.JSONException; > import org.json.JSONObject; > > import android.util.Log; > > public class JSONParser { > > static InputStream is = null; > static JSONObject jObj = null; > static String json = ""; > > // constructor > public JSONParser() { > > } > > public JSONObject getJSONFromUrl(String url, List<NameValuePair> params) { > > // Making HTTP request > try { > // defaultHttpClient > Log.d("URL in JSON class",url); > DefaultHttpClient httpClient = new DefaultHttpClient(); > HttpPost httpPost = new HttpPost(url); > httpPost.setEntity(new UrlEncodedFormEntity(params)); > > HttpResponse httpResponse = httpClient.execute(httpPost); > HttpEntity httpEntity = httpResponse.getEntity(); > is = httpEntity.getContent(); > > } catch (UnsupportedEncodingException e) { > e.printStackTrace(); > } catch (ClientProtocolException e) { > e.printStackTrace(); > } catch (IOException e) { > e.printStackTrace(); > } > Log.d("1", "I am here"); > try { > *Log.d("2", "I am here out");// till here it is coming after this it gets > crashed* > BufferedReader readero = new BufferedReader(new InputStreamReader( > is, "iso-8859-1"), 8); > StringBuilder sbo = new StringBuilder(); > String line = null; > while ((line = readero.readLine()) != null) { > sbo.append(line + "\n"); > Log.d("str", sbo.toString()); > } > is.close(); > json = sbo.toString(); > Log.d("JSON", json); > } catch (Exception e) { > Log.e("Buffer Error", "Error converting result " + e.toString()); > } > > // try parse the string to a JSON object > try { > jObj = new JSONObject(json); > } catch (JSONException e) { > //Log.e("JSON Parser", "Error parsing data " + e.toString()); > e.printStackTrace(); > > } > > // return JSON String > return jObj; > > } > } > > package com.example.androidhive; > > import com.example.androidhive.library.JSONParser; > > import java.util.ArrayList; > import java.util.HashMap; > import java.util.List; > > import org.apache.http.NameValuePair; > import org.json.JSONArray; > import org.json.JSONException; > import org.json.JSONObject; > > import android.annotation.SuppressLint; > import android.app.Activity; > import android.app.ListActivity; > import android.app.ProgressDialog; > import android.content.Intent; > import android.os.AsyncTask; > import android.os.Bundle; > import android.util.Log; > import android.view.View; > import android.widget.AdapterView; > import android.widget.AdapterView.OnItemClickListener; > import android.widget.ListAdapter; > import android.widget.ListView; > import android.widget.SimpleAdapter; > import android.widget.TextView; > > import org.apache.http.client.HttpClient; > import org.apache.http.client.methods.HttpPost; > import org.apache.http.impl.client.DefaultHttpClient; > import org.json.JSONException; > import org.json.JSONObject; > > > public class AllOrderActivity extends ListActivity { > int userId; > String EmpName; > TextView tv; > // Progress Dialog > private ProgressDialog pDialog; > > // Creating JSON Parser object > JSONParser jParser = new JSONParser(); > > ArrayList<HashMap<String, String>> productsList; > > // url to get all products list > private static String url_all_order = " > http://localhost/android_login_api/get_all_products.php"; > > // JSON Node names > private static final String TAG_SUCCESS = "success"; > private static final String TAG_ORDERS = "orders"; > private static final String TAG_OID = "oid"; > private static final String TAG_ORDER_DESCRIPTION = > "order_description"; > private static final String TAG_EMP_NAME = "empName"; > > // products JSONArray > JSONArray products = null; > > @SuppressLint("UseValueOf") > @Override > public void onCreate(Bundle savedInstanceState) { > super.onCreate(savedInstanceState); > setContentView(R.layout.all_order); > Log.d("In all oder","In all order"); > > Bundle extras = getIntent().getExtras(); > if (extras != null) { > userId = extras.getInt("UserId"); > EmpName = extras.getString("EmpName"); > } > userId = 4; > EmpName = "testing"; > String s = new Integer(userId).toString(); > Log.d("userId", s); > Log.d("user name", EmpName); > tv = (TextView) findViewById(R.id.empName); > > tv.setText(EmpName); > > // Hashmap for ListView > productsList = new ArrayList<HashMap<String, String>>(); > > // Loading products in Background Thread > new LoadAllProducts().execute(); > > // Get listview > ListView lv = getListView(); > > // on seleting single product > // launching Edit Product Screen > lv.setOnItemClickListener(new OnItemClickListener() { > > > public void onItemClick(AdapterView<?> parent, View view, > int position, long id) { > // getting values from selected ListItem > > String pid = ((TextView) > view.findViewById(R.id.pid)).getText() > .toString(); > Log.d("pid in ALL",pid); > String usrId = new Integer(userId).toString(); > // Starting new intent > Intent in = new Intent(getApplicationContext(), > EditOrderActivity.class); > // sending pid to next activity > in.putExtra(TAG_OID, pid); > in.putExtra("oId", pid); > in.putExtra("userId", usrId); > in.putExtra("EmpName", EmpName); > > // starting new activity and expecting some response back > startActivityForResult(in, 100); > } > }); > > } > > // Response from Edit Product Activity > @Override > protected void onActivityResult(int requestCode, int resultCode, > Intent data) { > super.onActivityResult(requestCode, resultCode, data); > // if result code 100 > if (resultCode == 100) { > // if result code 100 is received > // means user edited/deleted product > // reload this screen again > Intent intent = getIntent(); > finish(); > startActivity(intent); > } > > } > > /** > * Background Async Task to Load all product by making HTTP Request > * */ > class LoadAllProducts extends AsyncTask<String, String, String> { > > /** > * Before starting background thread Show Progress Dialog > * */ > @Override > protected void onPreExecute() { > super.onPreExecute(); > pDialog = new ProgressDialog(AllOrderActivity.this); > pDialog.setMessage("Loading products. Please wait..."); > pDialog.setIndeterminate(false); > pDialog.setCancelable(false); > pDialog.show(); > } > > /** > * getting All products from url > * */ > protected String doInBackground(String... args) { > // Building Parameters > Log.d("1","####"); > final String url_all_order1 = "* > http://localhost/android_login_api/get_all_products.php?uid="+userId*;*// > Inspite of this I tried with " > http://10.0.2.2/android_login_api/get_all_products.php?uid="+userId* > Log.d("2",url_all_order1); > List<NameValuePair> params = new ArrayList<NameValuePair>(); > > // params.add(new BasicNameValuePair("username","abcd")); > // getting JSON string from URL > JSONObject json = jParser.getJSONFromUrl(url_all_order1, > params); > > > // Check your log cat for JSON reponse > Log.d("All Products: ", json.toString()); > > try { > > // Checking for SUCCESS TAG > int success = json.getInt(TAG_SUCCESS); > > if (success == 1) { > // products found > // Getting Array of Products > products = json.getJSONArray(TAG_ORDERS); > > > // looping through All Products > for (int i = 0; i < products.length(); i++) { > JSONObject c = products.getJSONObject(i); > > > // Storing each json item in variable > String id = c.getString(TAG_OID); > String name = c.getString(TAG_ORDER_DESCRIPTION); > > // creating new HashMap > HashMap<String, String> map = new HashMap<String, > String>(); > > // adding each child node to HashMap key => value > map.put(TAG_OID, id); > map.put(TAG_ORDER_DESCRIPTION, name); > > // adding HashList to ArrayList > productsList.add(map); > } > } else { > // no products found > // Launch Add New product Activity > Intent i = new Intent(getApplicationContext(), > DashboardActivity.class); > // Closing all previous activities > i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); > startActivity(i); > } > } catch (JSONException e) { > e.printStackTrace(); > } > > return null; > } > > /** > * After completing background task Dismiss the progress dialog > * **/ > protected void onPostExecute(String file_url) { > // dismiss the dialog after getting all products > pDialog.dismiss(); > // updating UI from Background Thread > runOnUiThread(new Runnable() { > public void run() { > /** > * Updating parsed JSON data into ListView > * */ > ListAdapter adapter = new SimpleAdapter( > AllOrderActivity.this, productsList, > R.layout.list_item, new String[] { TAG_OID, > TAG_ORDER_DESCRIPTION}, > new int[] { R.id.pid, R.id.name }); > // updating listview > setListAdapter(adapter); > } > }); > > } > > } > } > > In the manifest file > <uses-permission android:name="android.permission.INTERNET" /> is given > > -- > You received this message because you are subscribed to the Google > Groups "Android Developers" group. > To post to this group, send email to [email protected] > To unsubscribe from this group, send email to > [email protected] > For more options, visit this group at > http://groups.google.com/group/android-developers?hl=en > -- You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/android-developers?hl=en

