public class ImgCountTask extends AsyncTask<String, Void, String> {
@Override
protected void onPreExecute() {
super.onPreExecute();
getLoading.setVisibility(View.VISIBLE);
getLoading.setProgress(0);
}
@Override
protected String doInBackground(String... strings) {
String obj = "empty";
String url = "http://----------------------------------------------------";
HttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost(url);
HttpParams params = new BasicHttpParams();
try {
httpClient.getParams().setParameter("http.protocol.expect-continue", false);
httpClient.getParams().setParameter("http.connection.timeout", 1000);
httpClient.getParams().setParameter("http.socket.timeout", 1000);
List<NameValuePair> nvp = new ArrayList<>();
nvp.add(new BasicNameValuePair("---", ---));
nvp.add(new BasicNameValuePair("---", strings[0]));
httpPost.setEntity(new UrlEncodedFormEntity(nvp));
HttpResponse response = httpClient.execute(httpPost);
HttpEntity ntt = response.getEntity();
obj = EntityUtils.toString(ntt);
} catch (Exception e) {
e.printStackTrace();
onPostExecute(obj);
}
return obj;
}
@Override
protected void onPostExecute(String result) {
super.onPostExecute(result);
getLoading.setVisibility(View.GONE);
Log.d("test", "POST EXCUTE : " + result);
}
}
이렇게 구성되어있구요 getLoading은 프로그래스 바 입니다.(원형)
execute 시작! 하면 프로그래스바가 돌고..1초동안 서버의 응답이 없거나, 통신이 완료되면 프로그래스바가 쏙 사라져야하는데...
execute 시작! 하면 앱이 멈췄다가 1초~2초 뒤에 AsyncTask가 종료됩니다. 프로그래스바는 당연히 나타나질 않구요..
왜 멈추는걸까요? 그 멈추는걸 방지하기 위해서 AsyncTask를 쓰는거 아닌가요 ㅠㅠ