2013-08-26 99 views
-2

我正在編寫一個Android應用程序,一個地圖應用程序。要使用該應用程序,用戶應該下載離線地圖文件。這個文件的大小是3GB ...是否有可能/好主意在應用程序中下載這樣一個大文件,或者我必須要求用戶在他/她的PC上下載文件並手動將該文件複製到android設備?在Android設備上下載大文件

+3

在手機上下載這個很好,只要看看遊戲如何做到這一點,通常下載大量額外的文件。只需創建一個合適的下載屏幕,並只在WiFi上下載,除非明確告知 –

+0

感謝您的建議。你知道這個大文件有一個好的下載腳本嗎? –

+0

下載腳本?你在說什麼? – m0skit0

回答

1

如果你想使用Android本身要下載的文件,你必須使用下載管理器來執行任務,爲您:

public void startDownload(String url, String fileName) { 
    Uri resource = Uri.parse(url); 
    DownloadManager.Request request = new DownloadManager.Request(resource); 
    request.setAllowedNetworkTypes(Request.NETWORK_WIFI); 
    request.setAllowedOverRoaming(false); 
    //set the file type 
    MimeTypeMap mimeTypeMap = MimeTypeMap.getSingleton(); 
    String mimeString = mimeTypeMap.getMimeTypeFromExtension(MimeTypeMap.getFileExtensionFromUrl(url)); 
    request.setMimeType(mimeString); 
    //show notification 
    request.setShowRunningNotification(true); 
    request.setVisibleInDownloadsUi(true); 
    //set target directory 
    request.setDestinationInExternalPublicDir("YOURCACHEDIR", fileName); 
    request.setTitle("Offline MAP downloading"); 
    DownloadManager downloadManager = (DownloadManager)getSystemService(DOWNLOAD_SERVICE); ; 
    long id = downloadManager.enqueue(request); 
    Log.i(TAG, "Start download, id = " + id); 
} 
0

我會從網上下載它的麻煩備用用戶他/她的個人電腦,然後將該文件複製到手機。手機能夠很好地下載這樣一個大文件,當然,手機有足夠的存儲空間。

但是,我會建議您的應用程序通過WIFI下載此文件,無論如何都可以通過移動網絡進行下載。

相關問題