안녕하세요. 안드로이드 초짜 개발자 인데요.
제가 정확히 하려는 것이요
-> PC 에서 안드로이드 단말로 다운로드 중에... suspend 버튼을 누르면 잠시 다운로드가 Suspend 되고, 다시 resume 버튼을 누르면 다운로드를 재개 해서, 이전에 suspend 되었던 곳에서 부터 다시 다운을 시작하려고 합니다.
현재 PC -> 단말로 다운로드는 잘됩니다.
그런데, 문제는 Suspend 버튼을 누르면은 중지는 되지만, 다시 Resume 버튼을 누르면
Suspend 했을때 부분부터 동작이 되어야 하는데, 잘안되네요.
저는 일단 다운로드 중에 Thread_State 변수를 두어서 다운로드를 제어 하려고 하는데요.
대략 제 생각이 다운로드 중에 suspend 버튼을 누르면, Resume을 받을때까지 무한루프를 돌게 하다가, Resume을 누르면
루프를 빠져나오므로, 다시 이전 Suspend 되었던 부분에서 다시 시작될줄 알았는데요.
잘 안되네요. ㅜ.ㅜ;;
제가 작성한 소스는 대략 아래와 같습니다.
< 소스 >
. . .
file = new File(FileName);
FileOutputStream fos = new FileOutputStream(file);
byte[] buf = new byte[HTTP.DEFAULT_CHUNK_SIZE * 20];
int readCount = 0;
while((readCount = inStream.read(buf)) != -1)
{
try
{
if(Thread_State == GInfo.THREAD_START)
{
//다운로드 및 프로그래스바 동작함
}
else if(Thread_State == GInfo.THREAD_SUSPEND)
{
while(true)
{
Thread.sleep(10);
if(Thread_State == GInfo.THREAD_RESUME)
break;
}
}
}
catch (InterruptedException e)
{
e.printStackTrace();
}
}
fos.close();
inStream.close();
urlCon.disconnect();
부디 헬프미요. ㅜ.ㅜ
좋은 하루되십시오.