Использование ProgressDialog с AsyncTask в Android 4

Использование ProgressDialog с AsyncTask в Android 4. Создаем подкласс HttpClient в Actrivity, в которой будем вызывать долгоработающий метод SendHttpPost().

// объявляем подкласс в Activity
public class HttpClient extends AsyncTask<Void, Void, Void>{
  ...
  // объявляем диалог
  public ProgressDialog dialog;
  // контекст
  Context ctx;
  ...
  // запускаем ProgressBar в момент запуска потока
  protected void onPreExecute() {
    dialog = new ProgressDialog(ctx);
    dialog.setMessage("Поиск...");
    dialog.setIndeterminate(true);
    dialog.setCancelable(true);
    dialog.show();
  }

  // Главный рабочий поток, а SendHttpPost() - Очень долгоработающий метод!
  protected Long doInBackground(Void... params) {
    try {
        SendHttpPost();
    } catch (Exception e) {
        e.printStackTrace();
    }
  }

  // как только получили ответ от сервера, выключаем ProgressBar
  protected void onPostExecute() {
        dialog.dismiss();
        ...
  }

  ....
}