Unable to start Progress Dialog (Not visible) while creating a reusable asyncTask class.
Parent class code(where calling asynctask) :
receivedData = new JSONParser(this).execute(urlstring).get();
AsyncTask class code:
package com.nearbybazar.vendor2;
import android.app.ProgressDialog;
import android.content.Context;
import android.os.AsyncTask;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.HashMap;
import static android.app.ProgressDialog.STYLE_SPINNER;
public class JSONParser extends AsyncTask<String, Void, String> {
private ProgressDialog dialog;
public JSONParser(Context con) {
//Context parentContext = this.getApplicationContext();
dialog = new ProgressDialog(con);
dialog.setProgressStyle(STYLE_SPINNER);
}
@Override
protected void onPreExecute() {
dialog.setMessage("Loading");
dialog.show();
}
protected String doInBackground(String... params) {
try {
String url=params[0];
URL Url = new URL(url);
HttpURLConnection connection = (HttpURLConnection) Url.openConnection();
InputStream is = connection.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(is));
StringBuilder sb = new StringBuilder();
String line;
System.out.println(url);
while ((line = br.readLine()) != null) {
sb.append(line);
}
line = sb.toString();
connection.disconnect();
is.close();
sb.delete(0, sb.length());
return line;
} catch (Exception e) {
e.printStackTrace();
return null;
}
// return line;
}
String url = null;
/* public JSONParser(String url) {
/* this.execute(url);
this.url = url;
}*/
@Override
protected void onPostExecute(String result)
{
if( null != dialog)
dialog.dismiss();
}
}
although the async class working fine and giving correct results but progressdialog is not visible. asynctask is also taking some time to load, for that loading time my phone's notification bar turns white.