溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Android使用Xutils3進行斷點下載的實例

發(fā)布時間:2020-09-04 18:20:08 來源:腳本之家 閱讀:127 作者:半斤水泥 欄目:移動開發(fā)

使用工具:Android studio 3.0

使用方法:

一:在build.gradle(Module:app)中添加依賴

implementaion 'org.xutils:xutils:3.5.1'

二:單獨創(chuàng)建一個MyApp類初始化xutils,類名可自定義

public class MyApp extends Application {
  @Override
  public void onCreate() {
    super.onCreate();
    x.Ext.init(this);
  }
}

三:在AndroidManifest中添加權限并注冊MyApp

//添加權限
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.INTERNET"/>
//注冊MyApp

在<application>節(jié)點中添加android:name=".MyApp'

四:使用下載方法

public void download(View view){
    String path=et.getText().toString().trim();
    RequestParams params=new RequestParams(path);
    params.setSaveFilePath(Environment.getExternalStorageDirectory()+"/myapp/");
    params.setAutoRename(true);
    x.http().post(params,new Callback.ProgressCallback<File>(){
      @Override
      public void onWaiting() {
 
      }
      @Override
      public void onStarted() {
 
      }
      @Override
      public void onLoading(long total, long current, boolean isDownloading) {
        pd.setMax((int)total);
        pd.setProgress((int)current);
      }
      @Override
      public void onSuccess(File result) {
        Log.i("TEST","下載完成");
      }
      @Override
      public void onError(Throwable ex, boolean isOnCallback) {
 
      }
      @Override
      public void onCancelled(CancelledException cex) {
 
      }
      @Override
      public void onFinished() {
 
      }
    });
  }

知識點擴展:

xUtils3簡介

xUtils 包含了orm, http(s), image, view注解, 但依然很輕量級(246K), 并且特性強大, 方便擴展:

  • 穩(wěn)定的基石: AbsTask和統(tǒng)一的回調接口Callback, 任何異常, 即使你的回調方法實現(xiàn)有異常都會進入onError, 任何情況下onFinished總會讓你知道任務結束了.
  • 基于高效穩(wěn)定的orm工具, http模塊得以更方便的實現(xiàn)cookie(支持domain, path, expiry等特性)和 緩存(支持Cache-Control, Last-Modified, ETag等特性)的支持.
  • 有了強大的http及其下載緩存的支持, image模塊的實現(xiàn)相當?shù)暮啙? 并且支持回收被view持有, 但被Mem Cache移除的圖片, 減少頁面回退時的閃爍.
  • view注解模塊僅僅400多行代碼卻靈活的支持了各種View注入和事件綁定, 包括擁有多了方法的listener的支持.
向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經查實,將立刻刪除涉嫌侵權內容。

AI