안드로이드 개발 질문/답변
(글 수 45,052)
쓰레드-헨들러보다 asynctask가 효율적이다고 들어서 이렇게 사용하고 있습니다.
물론 사용하기 더 간단한 이유도 있죠.
쓰래드-핸들러를 사용하면 여러 URL에 대한 데이터를 미리 처리하기가 쉬운데..
(처음 어플 실행하면 광고 효과겸..백그라운드에서 필요한 몇몇가지 처리를 해주려고 합니다.)
그런데 acynctask의 경우 커스터마이징을 간단하게 한다고 하면.
대략
class CustomTask extends AsyncTask<String, Void, String>{ //Params, Progress, Result CustomDialog dialog = new CustomDialog(Intro.this); DefaultHttpClient client = new DefaultHttpClient() ; int value = 0; int length = 0; // 편입 뉴스 리스트 @Override protected void onPreExecute(){ dialog.show(Intro.this,"","",true,true,null); }
@Override protected String doInBackground(String... params) { try{ HttpResponse res = client.execute(new HttpGet(params[0])); bannerString = EntityUtils.toString(res.getEntity()); return bannerString; }catch (IOException e){ e.printStackTrace(); } return null; }
@Override protected void onPostExecute(String result) { dialog.dismiss(); Intent i = new Intent(Intro.this, Main.class); startActivity(i); } }
간단하게 이런식인데...
doInBackground에서 백그라운드 처리를 해준다고 알고 있습니다.
위에서 보면 params로 url을 받게 되는데 이 경우 1개만 받아서 처리하게 됩니다.
간단하게 이야기하자면 doInBackground에서 3개의 url에 대한 백그라운드 작업을 처리하고 싶은데 어떻게 해야 할까요?
그냥 핸들러를 사용해야 할까요?
정확히 이해를 못했지만.. 3번을 단순히 루프하면 되는거 아닌가요?