Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發 >> 關於android開發 >> Android 手機衛士--xutils說明與下載方法使用,android--xutils

Android 手機衛士--xutils說明與下載方法使用,android--xutils

編輯:關於android開發

Android 手機衛士--xutils說明與下載方法使用,android--xutils


xUtils簡介

  • xUtils 包含了很多實用的android工具。
  • xUtils 最初源於Afinal框架,進行了大量重構,使得xUtils支持大文件上傳,更全面的http請求協議支持(10種謂詞),擁有更加靈活的ORM,更多的事件注解支持且不受混淆影響...
  • xUitls最低兼容android 2.2 (api level 8)

本文地址:http://www.cnblogs.com/wuyudong/p/5902876.html,轉載請注明源地址。

目前xUtils主要有四大模塊:

DbUtils模塊:

  • android中的orm框架,一行代碼就可以進行增刪改查;
  • 支持事務,默認關閉;
  • 可通過注解自定義表名,列名,外鍵,唯一性約束,NOT NULL約束,CHECK約束等(需要混淆的時候請注解表名和列名);
  • 支持綁定外鍵,保存實體時外鍵關聯實體自動保存或更新;
  • 自動加載外鍵關聯實體,支持延時加載;
  • 支持鏈式表達查詢,更直觀的查詢語義,參考下面的介紹或sample中的例子。

ViewUtils模塊:

  • android中的ioc框架,完全注解方式就可以進行UI,資源和事件綁定;
  • 新的事件綁定方式,使用混淆工具混淆後仍可正常工作;
  • 目前支持常用的20種事件綁定,參見ViewCommonEventListener類和包com.lidroid.xutils.view.annotation.event。

HttpUtils模塊:

  • 支持同步,異步方式的請求;
  • 支持大文件上傳,上傳大文件不會oom;
  • 支持GET,POST,PUT,MOVE,COPY,DELETE,HEAD,OPTIONS,TRACE,CONNECT請求;
  • 下載支持301/302重定向,支持設置是否根據Content-Disposition重命名下載的文件;
  • 返回文本內容的請求(默認只啟用了GET請求)支持緩存,可設置默認過期時間和針對當前請求的過期時間。

BitmapUtils模塊:

  • 加載bitmap的時候無需考慮bitmap加載過程中出現的oom和android容器快速滑動時候出現的圖片錯位等現象;
  • 支持加載網絡圖片和本地圖片;
  • 內存管理使用lru算法,更好的管理bitmap內存;
  • 可配置線程加載線程數量,緩存大小,緩存路徑,加載顯示動畫等...

xutils使用過程

1,導入xutils的jar包

2,添加xutils需要使用的權限
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

3,獲取HttpUtils對象,下載指定鏈接地址的apk

4,HttpUtils對象調用download(下載鏈接地址,下載後放置文件的路徑,下載過程中方法的回調
onStart()
onloading()
onSuccesd()
onFail()

5,下載apk後的安裝過程,

本文實現手機衛士的從服務器端下載apk更新本機的方法

    protected void downloadApk() {
        //apk下載鏈接地址,放置apk的所在路徑
        //1,判斷sd卡是否可用
        if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {
            //2,獲取sd路徑
            String path = Environment.getExternalStorageDirectory().getAbsolutePath()
                    + File.separator + "mobilesafe.apk";
            //3,發送請求,獲取apk,並且放置到指定路徑
            HttpUtils httpUtils = new HttpUtils();
            //4,發送請求,傳遞參數(下載地址,下載應用放置位置)
            httpUtils.download(mDownloadUrl, path, new RequestCallBack<File>() {
                
                @Override
                public void onSuccess(ResponseInfo<File> responseInfo) {
                    //下載成功(下載過後的放置在sd卡中apk)
                    Log.i(tag, "下載成功");
                    File file = responseInfo.result;
                }
                
                @Override
                public void onFailure(HttpException arg0, String arg1) {
                    // 下載失敗
                    Log.i(tag, "下載失敗");
                }
                //剛剛開始下載方法
                @Override
                public void onStart() {
                    Log.i(tag, "剛剛開始下載");
                    super.onStart();
                }
                //下載過程中的方法(下載apk總大小,當前的下載位置,是否正在下載)
                @Override
                public void onLoading(long total, long current,
                        boolean isUploading) {
                    Log.i(tag, "下載中........");
                    Log.i(tag, "total = " + total);
                    Log.i(tag, "current = " + current);
                    super.onLoading(total, current, isUploading);
                }
                
            });
            
        }
    }

 

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