I want to pass last id on php server.I got last inserted id but while sending it to server there is problem of "network on main thread exception".
public void get_data(String data) {
try {
JSONArray data_array = new JSONArray(data);
for (int i = 0; i < data_array.length(); i++) {
JSONObject obj = new JSONObject(data_array.get(i).toString());
Message add = new Message();
Log.d("JSONVALUE :", obj.toString());
String category = obj.optString("category");
String status = obj.optString("status");
String imgLink = obj.optString("imagelink");
String id = obj.optString("id");
add.setCategory(category);
add.setStatus(status);
add.setImagelink(imgLink);
add.setId(id);
objlist.add(add);
dataBaseHelper.addSMS(category, status, imgLink);
if(i==data_array.length()-1){
lastId=id;
Log.d("LAstID","LastId"+lastId);
new SendLastID().execute();
}
}
//new ListAdapter(CatagoryActivity.this, objlist).notifyDataSetChanged();
} catch (JSONException e) {
e.printStackTrace();
}
}
class SendLastID extends AsyncTask<String,Void,Void> {
private Exception exception;
@Override
protected Void doInBackground(String... urls) {
// TODO Auto-generated method stub
//send last id to php server
HttpClient httpclient = new DefaultHttpClient();
//String string2 = "B";
HttpPost httppost = new HttpPost("askmanu.in/demo.php?id="+lastId);
//HttpResponse response = (HttpResponse) httpclient.execute(httppost);
try {
// Execute HTTP Post Request
HttpResponse response = (HttpResponse) httpclient.execute(httppost);
//int status = response.getStatusLine().getStatusCode();
//System.out.println("data posted, status = " + status);
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
} catch (IOException e) {
// TODO Auto-generated catch block
}
return null;
}
@Override
protected void onPostExecute(Void aVoid) {
super.onPostExecute(aVoid);
}
}
Logcat - java.lang.RuntimeException: An error occured while executing doInBackground()
05-11 15:14:39.933: E/AndroidRuntime(23721): FATAL EXCEPTION: AsyncTask #4
05-11 15:14:39.933: E/AndroidRuntime(23721): Process: marathi.sms.collection, PID: 23721
05-11 15:14:39.933: E/AndroidRuntime(23721): java.lang.RuntimeException: An error occured while executing doInBackground()
05-11 15:14:39.933: E/AndroidRuntime(23721): at android.os.AsyncTask$3.done(AsyncTask.java:304)
05-11 15:14:39.933: E/AndroidRuntime(23721): at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:355)
05-11 15:14:39.933: E/AndroidRuntime(23721): at java.util.concurrent.FutureTask.setException(FutureTask.java:222)
05-11 15:14:39.933: E/AndroidRuntime(23721): at java.util.concurrent.FutureTask.run(FutureTask.java:242)
05-11 15:14:39.933: E/AndroidRuntime(23721): at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)
05-11 15:14:39.933: E/AndroidRuntime(23721): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
05-11 15:14:39.933: E/AndroidRuntime(23721): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
05-11 15:14:39.933: E/AndroidRuntime(23721): at java.lang.Thread.run(Thread.java:818)
05-11 15:14:39.933: E/AndroidRuntime(23721): Caused by: java.lang.IllegalStateException: Target host must not be null, or set in parameters. scheme=null, host=null, path=askmanu.in/demo.php
05-11 15:14:39.933: E/AndroidRuntime(23721): at org.apache.http.impl.client.DefaultRequestDirector.determineRoute(DefaultRequestDirector.java:624)
05-11 15:14:39.933: E/AndroidRuntime(23721): at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:312)
05-11 15:14:39.933: E/AndroidRuntime(23721): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:580)
05-11 15:14:39.933: E/AndroidRuntime(23721): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:503)
05-11 15:14:39.933: E/AndroidRuntime(23721): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:481)
05-11 15:14:39.933: E/AndroidRuntime(23721): at marathi.sms.collection.CatagoryActivity$SendLastID.doInBackground(CatagoryActivity.java:202)
05-11 15:14:39.933: E/AndroidRuntime(23721): at marathi.sms.collection.CatagoryActivity$SendLastID.doInBackground(CatagoryActivity.java:1)
05-11 15:14:39.933: E/AndroidRuntime(23721): at android.os.AsyncTask$2.call(AsyncTask.java:292)
05-11 15:14:39.933: E/AndroidRuntime(23721): at java.util.concurrent.FutureTask.run(FutureTask.java:237)
05-11 15:14:39.933: E/AndroidRuntime(23721): ... 4 more