Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發 >> 關於android開發 >> 安卓開發之非常好用的AndroidOne框架DownloadManager,androidone框架

安卓開發之非常好用的AndroidOne框架DownloadManager,androidone框架

編輯:關於android開發

安卓開發之非常好用的AndroidOne框架DownloadManager,androidone框架


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包的時候注意不要勾選配置文件,否則會報錯

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved