安卓開發之非常好用的AndroidOne框架DownloadManager - 狂小鱘

jopen 8年前發布 | 15K 次閱讀 安卓開發 Android開發 移動開發

AndroidOne框架是采用MVC模式,集成了Android主流開源技術及組件,是一款極速且簡單高效開發框架,整個項目包含兩個部分AndroidOne,oneCore

AndroidOne為演示項目,里面介紹了該框架的使用方法及Demo

oneCore是該框架的核心項目,AndroidOne依賴于oneCore

下載地址: https://github.com/devinhu/androidone

AndroidOne框架 繼承了很多的功能,在文檔中可以得知,在這里主要介紹一下DownloadManager的使用

1.首先要得到一個DownloadManager的實例,除了下面這種沒有參數的方法,還有一種帶參數的方法來生成實例getInstance(String rootPath);rootPath是設置下載的文件保存在哪里

如果不設置會保存在SDCard中download目錄下。

 DownloadManager dm = DownloadManager.getInstance();

2.然后設置DownloadManager的回調方法

dm.setDownLoadCallback(new DownLoadCallback(){
            @Override
            public void onLoading(String url, int bytesWritten, int totalSize) {

            }

            @Override
            public void onSuccess(String url, String filePath) {

            }

            @Override
            public void onFailure(String url, String strMsg) {

            }
        });

這個回調是對下載過程的一些處理:

  onLoading()方法當文件正在下載的時候會頻繁的調用。 里面有三個參數,URL可以用來唯一標識當前是哪個下載任務,bytesWritten是當前已經下載的文件大小; totalSize是下載文件的總     大小。通過 這兩個int型的數據可以確定當前文件下載的進度。

onSuccess()方法會在下載完成的時候調用。

onFailuer()方法會在下載失敗的時候調用。

3.添加下載文件,開始下載,暫停下載,繼續下載

dm.addHandler(url);
dm.pauseHandler(url);
dm.continueHandler(url);

看源碼可以發現在DownloadManager里面有一個方法startManager();這個方法的作用是開始下載。我們在代碼中沒有調用這個方法是因為addHandler()方法中會調用startManager()方法

上面三個方法建議在按鈕的點擊事件中調用,這樣可以更加直觀的控制整個下載過程

DownloadManager是一個單例類,所以使用的時候如果生成了太多的實例不需要擔心;

DownloadManager支持多線程下載,多任務同時下載,斷點續傳等等功能,DownloadManager默認支持同時下載五個文件,如果你的不能滿足你的需求可以更改任務數

AndroidOne框架源碼使用eclipse開發,所以在Android Studio上面使用需要先將oneCore項目導成Android Studio 格式,再講oneCore導入Android Studio添加項目依賴

或者在eclipse里面直接導成jar包,將jar包添加到libs目錄下引入項目。在導成jar包的時候注意不要勾選配置文件,否則會報錯

來自: http://www.cnblogs.com/todaylovegoaway/p/5141827.html

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!