title: How to convert to asynctask?
body: <p>My activity works fine using thread but when there is 10 or more images to fetch from web server database, it takes lot of time. From googling, I have seen that asynctask is a better option, but I am not able to implement it. Here is my thread class</p>
  
  <pre><code>public class Ongoing extends Activity implements OnItemClickListener{
  
  InputStream is;
  ProgressDialog pd;
  public int limit=0;
  String F_NAME[]=new String[1000];
  String F_ID[]=new String[1000];
  String F_IMG[]=new String[1000];
  String F_DESC[]=new String[1000];
  String F_DOWN[]=new String[1000];
  ListView lv1;
  ArrayList&lt;ItemDetails&gt; image_details;
  
  @Override
  
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    int SDK_INT = android.os.Build.VERSION.SDK_INT;
  
    if (SDK_INT&gt;8)
    {
  
    StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
  
    StrictMode.setThreadPolicy(policy); 
  
    }
  
        setContentView(R.layout.submenu);
  
      lv1 = (ListView) findViewById(R.id.listV_main);
  
  
      lv1.setOnItemClickListener(this) ;
      pd=new ProgressDialog(this);
      pd.setTitle("Please wait");
      pd.setMessage("Loading....");
      pd.setCancelable(false);
      pd.show();
  
      new Thread(new Runnable()
      {
          @Override
          public void run()
          {
  
              GetSearchResults();
  
  
         //   hanlder.sendEmptyMessage(1);
  
               runOnUiThread(new Runnable() {
                   @Override
                   public void run() {
                       lv1 = (ListView) findViewById(R.id.listV_main);
                       adb=new ItemListBaseAdapter(Ongoing.this, results);
                       lv1.setAdapter(adb);
                       pd.cancel();
                   }
               });
  
          }
      }).start();
  
   }  
  ItemListBaseAdapter adb;  
     private ArrayList&lt;ItemDetails&gt; results = new ArrayList&lt;ItemDetails&gt;();
  private ArrayList&lt;ItemDetails&gt; GetSearchResults()
  {
   try{ 
   String result = "";
  try{
      HttpClient httpclient = new DefaultHttpClient();
      HttpPost httppost = new HttpPost(D.url+"abc.php");
      //httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
      HttpResponse response = httpclient.execute(httppost); 
      HttpEntity entity = response.getEntity();
      is = entity.getContent();
      Log.e("log_tag", "connection success ");
  
     }catch(Exception e){
      Log.e("log_tag", "Error in http connection "+e.toString());
  
  
     }
  
   try{
    BufferedReader reader = new BufferedReader(new InputStreamReader(is,"iso- 88591"),8);
      StringBuilder sb = new StringBuilder();
      String line = null;
      while ((line = reader.readLine()) != null) {
              sb.append(line + "\n");
  
      }
      is.close();
  
      result=sb.toString();
    }catch(Exception e){
     Log.e("log_tag", "Error converting result "+e.toString());
  
    }
  
    try{
  
  
      JSONArray jArray = new JSONArray(result);
      int arrayLength=jArray.length();
      limit=arrayLength;
      for(int i=0;i&lt;arrayLength;i++){
             JSONObject json_data = jArray.getJSONObject(i);
  
             F_NAME[i]=json_data.getString("F_NAME");
             F_DESC[i]=json_data.getString("F_DESC");
             F_ID[i]="ongopro"+json_data.getString("F_ID");
             F_IMG[i]=json_data.getString("F_IMG");
             F_DOWN[i]=json_data.getString("F_DOWNLOAD");
      }
     }
      catch(JSONException e){
          Log.e("log_tag", "Error parsing data "+e.toString());
  
    }                
  
  
      for(int j=0;j&lt;limit;++j)
      {
  
  
           ItemDetails item_details = new ItemDetails();
          item_details.setName(F_NAME[j]);
          item_details.setItemDescription(F_DESC[j]);
          item_details.setImgUrl(F_IMG[j]);
          item_details.setLoc(F_DOWN[j]);
          results.add(item_details);
      }
  
   }
   catch(Exception e){
       Log.e("log_tag", "no msg sent "+e.toString());
       hanlder.sendEmptyMessage(2);
  
  }
   return results;
  
  }
  @Override
   public void onItemClick(AdapterView&lt;?&gt; parent, View view,
        int position, long id) {
  data.proj=F_DOWN[position];
   data.table=F_ID[position];
   data.flatname=F_NAME[position];
  
  Intent newActivity = new Intent(view.getContext(),homescreen.class);     
      startActivity(newActivity);
    }}
  </code></pre>
  
  <p>Below is the code in asynctask(but it not working,please edit this )</p>
  
  <pre><code>public class Ongoing extends Activity implements OnItemClickListener{
  
  InputStream is;
  ProgressDialog pd;
  public int limit=0;
  String F_NAME[]=new String[1000];
  String F_ID[]=new String[1000];
  String F_IMG[]=new String[1000];
  String F_DESC[]=new String[1000];
  String F_DOWN[]=new String[1000];
  ListView lv1;
  ArrayList&lt;ItemDetails&gt; image_details;
  ItemListBaseAdapter adb;
  @Override
  
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    int SDK_INT = android.os.Build.VERSION.SDK_INT;
  
    if (SDK_INT&gt;8)
    {
  
     StrictMode.ThreadPolicy policy = new    StrictMode.ThreadPolicy.Builder().permitAll().build();
  
    StrictMode.setThreadPolicy(policy); 
  
    }
  
        setContentView(R.layout.submenu);
  
      lv1 = (ListView) findViewById(R.id.listV_main);
  
  
      lv1.setOnItemClickListener(this) ;
      pd=new ProgressDialog(this);
      pd.setTitle("Please wait");
      pd.setMessage("Loading....");
      pd.setCancelable(false);
      pd.show();
  
      load task=new load();
      task.execute();
  
  
  
   }  
  
  
  public class load extends AsyncTask&lt;Void, Void , ArrayList&lt;ItemDetails&gt;&gt;
  {
      public ArrayList&lt;ItemDetails&gt; results = new ArrayList&lt;ItemDetails&gt;();
      @Override
      protected ArrayList&lt;ItemDetails&gt; doInBackground(Void... params) {
  
          String result = "";
          try{
              HttpClient httpclient = new DefaultHttpClient();
              HttpPost httppost = new HttpPost(D.url+"abc.php");
              //httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
              HttpResponse response = httpclient.execute(httppost); 
              HttpEntity entity = response.getEntity();
              is = entity.getContent();
              Log.e("log_tag", "connection success ");
  
      }catch(Exception e){
              Log.e("log_tag", "Error in http connection "+e.toString());
  
  
      }
      //convert response to string
      try{
    BufferedReader reader = new BufferedReader(new InputStreamReader(is,"iso-8859-1"),8);
              StringBuilder sb = new StringBuilder();
              String line = null;
              while ((line = reader.readLine()) != null) {
                      sb.append(line + "\n");
  
              }
              is.close();
  
              result=sb.toString();
      }catch(Exception e){
             Log.e("log_tag", "Error converting result "+e.toString());
  
  
      }
  
      //parse json data
  
      try{
  
  
              JSONArray jArray = new JSONArray(result);
              int arrayLength=jArray.length();
              limit=arrayLength;
              for(int i=0;i&lt;arrayLength;i++){
                     JSONObject json_data = jArray.getJSONObject(i);
  
                     F_NAME[i]=json_data.getString("F_NAME");
                     F_DESC[i]=json_data.getString("F_DESC");
                     F_ID[i]="ongopro"+json_data.getString("F_ID");
                     F_IMG[i]=json_data.getString("F_IMG")+"";
                     F_DOWN[i]=json_data.getString("F_DOWNLOAD");
              }
      }
              catch(JSONException e){
                  Log.e("log_tag", "Error parsing data "+e.toString());
  
          }                
  
  
              for(int j=0;j&lt;limit;++j)
              {
  
  
                   ItemDetails item_details = new ItemDetails();
                  item_details.setName(F_NAME[j]);
                  item_details.setItemDescription(F_DESC[j]);
                  item_details.setImgUrl(F_IMG[j]);
                  item_details.setLoc(F_DOWN[j]);
                  results.add(item_details);
              }
  
           }
           catch(Exception e){
               Log.e("log_tag", "no msg sent "+e.toString());
               hanlder.sendEmptyMessage(2);
  
           return results;
  
      }
      protected void onPostExecute() {
  
  
           adb=new ItemListBaseAdapter(Ongoing.this, results);
          lv1.setAdapter(adb);
          pd.dismiss();
  
  }
      @Override
      protected void onPreExecute() {
  }}
    @Override
     public void onItemClick(AdapterView&lt;?&gt; parent, View view,
        int position, long id) {
  data.proj=F_DOWN[position];
   data.table=F_ID[position];
   data.flatname=F_NAME[position];
  
  Intent newActivity = new Intent(view.getContext(),homescreen.class);     
      startActivity(newActivity);
   }}
  </code></pre>