0
웹에서 파일에 다운로드 할 asynctask
클래스를 하나 만듭니다. 나는이 클래스의 객체를 생성하고 실행하면 모든 일이 잘 작동Android 2.1 : 다운로드 파일을 동시에 여러 asynctask 실행
private class DownloadFile1 extends AsyncTask<String, Integer, String> {
private boolean done = false;
@Override
protected String doInBackground(String... sUrl) {
done = false;
if (isOnline() == true && sdmounted() == true) {
try {
URL url = new URL(sUrl[0]); // get url
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.connect();
InputStream in = new BufferedInputStream(connection.getInputStream());
// url[1]= file name
OutputStream out = (downloaded == 0) ? new FileOutputStream("/sdcard/Points.ir/" + sUrl[1])
: new FileOutputStream("/sdcard/Points.ir/"
+ sUrl[1], true);
OutputStream output = new BufferedOutputStream(out, 1024);
byte[] data = new byte[1024];
int count = 0;
while (done != true && isOnline() == true && (count = in.read(data, 0, 1024)) >= 0) {
output.write(data, 0, count);
downloaded += count;
}
output.flush();
output.close();
in.close();
} catch (Exception e) {
}
} else {
networkerror = 1;
}
return null;
}
@Override
protected void onPreExecute()
{
super.onPreExecute();
}
@Override
protected void onProgressUpdate(Integer... progress)
{
super.onProgressUpdate(progress);
}
@Override
protected void onPostExecute(String result)
{
super.onPostExecute(result);
}
}
:
이
내 클래스입니다. 그러나 2 개의 객체를 생성하고 다운로드 2 파일을 실행하면 FC를 얻는 것과 동시에 ?? 무엇을 할 수 있습니까? (나의 나쁜 영어 연설에 대해 유감스럽게 생각한다)
당신이 게시 할 수 있 었는가 오류? – Entreco
한 번에 하나의 asynctask 만 실행할 수 있습니다. 대기열 기능을 원한다면 IntentService를 찾으십시오. – ThePCWizard