Blog

큐파일 다운로드

그렇게하는 방법을 알려주십시오. 응용 프로그램이 시작되는 즉시 다운로드가 시작되기를 원합니다. 친절하게 나를 도와주세요! 안드로이드 개발 유형 : 다운로드 대기열의 초보자 목적 : 인앱 청구가 성공한 후 서버에서 여러 파일을 다운로드하려면! 또한 IntentService는 여기에서 작동하지 않습니다!! 요청을 하나씩 처리하더라도 DownloadManager.enqueue() 호출이 너무 빨리 실행되고 다음 호출이 실행되고 결과가 다시 동시 다운로드됩니다! 세 번째 옵션은 이전에 시작된 다운로드가 완료되면 요청을 받고 DownloadManager.enqueue()를 호출하는 LocalService를 사용하는 것이지만 어떻게해야합니까? 내 서비스는 실행 중인 경우에도 요청을 통해 내 활동을 형성해야합니다! (그래서 난 그냥 의도에 데이터를 넣을 수 없습니다). 통신을 활성화하려면 바인딩 된 서비스를 만들어야하며 문서에 따르면 바인딩 할 것이 없을 때 파괴됩니다! 나는 답을 찾았다! IntentService의 문제는 너무 빨리 다운로드 Manager.engueue()를 실행하고 결과적으로 모든 다운로드가 함께 다운로드얻을 것입니다. 그래서 백그라운드 스레드에서 wait()를 호출하여 다운로드가 완료 될 때까지 요청이 실행이 완료되지 않았는지 확인했습니다. 및 호출 notify() 때 방송 onReceive 호출 하 고 내 다운로드가 완료! 의도 서비스를 사용합니다. 큐와 백그라운드 스레드를 제공하므로 다운로드 논리를 onHandleIntent()에 넣기만 하면 됩니다. 이를 보여 주는 샘플 프로젝트는 여기를 참조하십시오. 프로그램은 추가된 순서대로 한 번에 하나씩 다운로드됩니다. iOS에서 다운로드된 주문 프로그램을 변경하려면 `편집` 옵션을 선택하고 프로그램을 원하는 순서로 드래그하여 대기열에서 다운로드를 다시 정렬할 수 있습니다.

변경 내용을 저장하려면 `완료`를 누르기만 하면 됩니다. 다운로드 시간은 연결 속도와 프로그램 크기에 따라 다릅니다. 매우 대략적인 가이드로서 30분 짜리 프로그램을 다운로드하는 데 10-15분 이상 걸리지 않아야 합니다. BBC iPlayer 앱의 프로그램에서 다운로드를 탭하면 앱이 열려 있는지 여부에 관계없이 기기가 인터넷에 연결되는 즉시 자동으로 다운로드됩니다. 나는 모든 것을 처리하기 때문에 안드로이드와 그 위대한 내 파일을 다운로드DownloadManager를 사용하고 있어요 (연결이 손실, 재시도 등) 문제는 내 파일을 큐에 차례로 다운로드하고 DownloadManager가이 기능을 제공하지 않는다는 것입니다. 따라서 DownloadManager.enqueue(…)를 여러 번 호출하면 모든 파일이 동시에 다운로드됩니다. 이 문제를 어떻게 해결할 수 있습니까? 큐에 있는 여러 파일을 하나씩 다운로드하려면 어떻게 해야 합니까? 이후 샘플 코드로 사용하고 있습니다. 로컬 DB에서 문자열로 다운로드할 URL을 동적으로 전달합니다. 난 그냥 파일을 다운로드하는 것은 큐입니다! 또한 다운로드 할 것이 없을 때 서비스가 무기한 실행되는 것을 원하지 않습니다. 여기서 3은 동시에 실행하려는 다운로드 수입니다. 이미 3개의 다운로드가 실행 중인 경우 작업을 큐에 대기하고 나중에 작업을 자동으로 처리합니다.

비동기 작업을 실행 : 나는 단지 내 활동에 큐를 만들고 활동이 언제든지 파괴 될 수 있기 때문에 다운로드를 하나씩 DownloadManger에 보낼 수 없습니다! 따라서 활동이 종료될 때 대기열에 있는 다운로드가 손실됩니다. 내가 맞지? 3) 다운로드를 받았을 때 데이터베이스에서 행을 읽고 새 다운로드를 시작합니다(enqueue).