앱에서 특정 형식을 요구하지 않는 경우 확장 파일에 대한 ZIP 파일을 만든 다음 APK 확장 Zip 라이브러리를 사용하여 읽는 것이 좋습니다. 참고: 다운로더 라이브러리는 라이센스 확인 라이브러리에 따라 다릅니다. 다운로드 기능 라이브러리의 프로젝트 속성에 라이선스 확인 라이브러리를 추가해야 합니다. URL을 기반으로 하는 다운로드 인프라가 이미 있거나 URL을 공유하려는 경우 저장소 참조에서 getDownloadUrl() 메서드를 호출하여 파일에 대한 다운로드 URL을 얻을 수 있습니다. 기기에 다운로드한 모든 파일을 보려면 다운로드 앱을 엽니다. File 다운로드 진행 상황을 모니터링하고 필요한 경우 다운로드를 다시 시작하기 위해 DownloaderService는 앱의 BroadcastReceiver에 의도를 전달하는 RTC_WAKEUP 경보를 예약합니다. 다운로드 상태를 확인하고 필요한 경우 다시 시작하는 다운로더 라이브러리에서 API를 호출하도록 BroadcastReceiver를 정의해야 합니다. APK 확장 지퍼 라이브러리를 사용하는 경우, ZIP에서 파일을 읽는 것은 일반적으로 다음이 필요합니다 : 예를 들어, onCreate()에 대한 이전 코드 샘플에서 다음과 같은 startDownloadServiceIfRequired() 결과에 응답 할 수 있습니다 : -RegisterStatusListener (때 조각 또는 활동의 onCreate가 호출 될 수 있습니다, 당신은 당신의 응용 프로그램이 다운로드 진행 상황을 걱정하지 않는 경우, 당신은 이것을 무시할 수 있습니다, 당신은 당신의 안드로이드 서비스에서 사용하려는 경우, 다운로드 진행률을 걱정하지 않는 경우, ZIP에서 사용 FileDownloader 를 사용 하 여 AP 를 사용 하 여 사용 하 여 APK 확장 패키지에 포함된 확장 Zip 라이브러리에는 패치 파일을 기본 확장 파일과 병합하는 기능이 포함되어 있습니다. 백그라운드에서 다운로드를 수행하기 위해 다운로더 라이브러리는 확장해야 하는 DownloaderService라는 자체 서비스 하위 클래스를 제공합니다. 당신을 위해 확장 파일을 다운로드 하는 것 외에도, DownloaderService 또한: 여전히 동일한 writeResponseBodyDisk() 메서드를 사용할 수 있습니다. @Streaming 선언과 이 스니펫을 기억한다면 Retrofit을 사용하면 큰 파일도 효율적으로 다운로드 할 수 있습니다.
확장 파일을 삭제, 이동 또는 이름을 변경해서는 안 됩니다. 위의 코드는 두 파일의 모든 파일의 병합된 맵을 읽음으로써 주 확장 파일 또는 패치 확장 파일에 있는 모든 파일에 대한 액세스를 제공합니다. getAPKExpansionFile() 메서드를 제공 하려면 응용 프로그램 android.content.Context 및 기본 확장 파일 및 패치 확장 파일에 대 한 버전 번호입니다. APK 확장 파일이 장치에 저장되면 파일을 읽는 방법은 사용한 파일 유형에 따라 다릅니다. 개요에서 설명한 대로 확장 파일은 원하는 모든 종류의 파일일 수 있지만 특정 파일 이름 형식을 사용하여 이름이 바뀌고 /Android/obb//에 저장됩니다. CreateStub()를 호출하여 IStub을 인스턴스화하려면 IDownloaderClient 인터페이스와 DownloaderService 구현의 구현을 전달해야 합니다. 다운로드 진행률 수신에 대한 다음 섹션에서는 다운로드 상태가 변경될 때 활동 UI를 업데이트할 수 있도록 활동 클래스에서 일반적으로 구현해야 하는 IDownloaderClient 인터페이스에 대해 설명합니다. 각 앱에 대해 이 디렉터리에는 두 개 이상의 확장 파일이 없습니다.
하나는 기본 확장 파일이고 다른 하나는 패치 확장 파일(필요한 경우)입니다. 새 확장 파일로 앱을 업데이트할 때 이전 버전이 덮어씁니다. 안드로이드 4.4 (API 수준 19)이기 때문에 앱은 외부 저장소 권한없이 OBB 확장 파일을 읽을 수 있습니다. 그러나 Android 6.0(API 수준 23)의 일부 구현에서는 나중에 도허가가 계속 필요하므로 앱 매니페스트에서 READ_EXTERNAL_STORAGE 권한을 선언하고 런타임에 권한을 요청해야 합니다. 그런 다음 활동이 다시 시작될 때 getActiveDownloadTasks 메서드를 사용하여 아직 실행 중이거나 최근에 완료된 다운로드 작업을 가져옵니다.