I have a problem, what happens is that I have a AsyncTask
and I want to put a ProgressBar
but what happens is that AsyncTask
I have it independent (in a class I only have that AsyncTask
) I tried to put the ProgressBar
but it does not fit.
This is my class
public class SearchData extends AsyncTask<Object, Object, CheckIn> {//creo una atrea en segundo plano
@Override
protected CheckIn doInBackground(Object... params) {//ejecuta nuestras tareas principales
CheckIn checkIn = CheckIn.getInstance();
CloseableHttpClient httpClient;
CloseableHttpResponse httpResponse;
try {
HttpGetHC4 httpGetHC4 = new HttpGetHC4(DynamicUrl.BASE_URL+DynamicUrl.SERVER_HOST+":"+DynamicUrl.SERVER_PORT+DynamicUrl.SERVER_ROUTE);//a que servidor se va a apuntar
httpClient = HttpClients.createDefault();//aqui se realiza la configuracion por default
httpResponse = httpClient.execute(httpGetHC4);//aqui se encuentran los datos de la peticion
JSONObject jsonRootObject = new JSONObject(EntityUtilsHC4.toString(httpResponse.getEntity()));//creo un JSON y le asigono mi respuesta que optuve
JSONObject jsonData = jsonRootObject.getJSONObject("data");//en este json estan unicamente los datos
System.out.println("este es el JSONObject "+jsonRootObject);
if (jsonRootObject.getString("code").equals("OK")){//checo que el jsonRootObject tenga la clave "OK"
int folio = jsonData.getInt("folio");//del JSON jalo el folio
String customer = jsonData.getString("customer");//del JSON jalo el cliente
String delivered = jsonData.getString("delivered");//del JSON jalo la fecha_entrega
JSONArray images = jsonData.getJSONArray("images");//paso a un JSONArray el arreglo de las imagenes
if (images != null) {//checo que el JSONArray traiga imagenes
ArrayList<Bitmap> arrayBitmaps = new ArrayList<Bitmap>();//creo un arreglo de Bitmaps
for (int i = 0; i < images.length(); i++) {//itero el JSONArray
URL url = new URL(images.getString(i));//paso la url donde se encuentra la imagen
HttpURLConnection connection = (HttpURLConnection) url.openConnection();//abre la conexion o crea la conexion
connection.setDoInput(true);//usar la conexión de URL para la entrada de datos
connection.connect();//realiza la conexion
InputStream input = connection.getInputStream();//lee el flujo de entrada de bytes que trae la conexion
Bitmap myBitmap = BitmapFactory.decodeStream(input);//se decodifican los bytes a Bitmap
arrayBitmaps.add(myBitmap);//se pasa al arreglo de Bitmaps
}//./for
checkIn.setImages(arrayBitmaps);//seteo el arreglo de Bitmaps
}//./if
checkIn.setFolio(folio);//setteo el folio
checkIn.setCustomer(customer);//setteo el customer
checkIn.setDelivered(delivered);//setteo el
} else {
checkIn = null;
}//./else
} catch (IOException e ) {
e.printStackTrace();
} catch (JSONException e) {
e.printStackTrace();
} finally {
}
return checkIn;
}
@Override
protected void onProgressUpdate(Object... values) {//se ejecuta cada vez que llamamos a un metodo desde el metodo doingBackground
}
@Override
protected void onPreExecute() {
}
@Override
protected void onPostExecute(CheckIn result) {//se ejecuta cuando termina doingBackgroud()
}
@Override
protected void onCancelled() {//cuando se cancela el proceso
}
}//./clase