• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            xiaoguozi's Blog
            Pay it forword - 我并不覺的自豪,我所嘗試的事情都失敗了······習慣原本生活的人不容易改變,就算現(xiàn)狀很糟,他們也很難改變,在過程中,他們還是放棄了······他們一放棄,大家就都是輸家······讓愛傳出去,很困難,也無法預(yù)料,人們需要更細心的觀察別人,要隨時注意才能保護別人,因為他們未必知道自己要什么·····
              DownloadManager是Android為開發(fā)者提供的一個后臺應(yīng)用組件,它通過Http層進行文件的下載任務(wù).
                1:使用
                     首先要在AndroidManifest.xml中申請訪問DownloadManager的權(quán)限
                      <permission android:name="android.permission.ACCESS_DOWNLOAD_MANAGER"/>
                     添加一個下載任務(wù):
                     ContentValues values = new ContentValues();
                     values.put(Downloads.URI, url);//指定下載地址
                    values.put(Downloads.COOKIE_DATA, cookie);//如果下載Server需要cookie,設(shè)置cookie
                    values.put(Downloads.VISIBILITY,Downloads.VISIBILITY_HIDDEN);//設(shè)置下載提示是否在屏幕頂部顯示
                    values.put(Downloads.NOTIFICATION_PACKAGE, getPackageName());//設(shè)置下載完成之后回調(diào)的包名
                    values.put(Downloads.NOTIFICATION_CLASS, DownloadCompleteReceiver.class.getName());//設(shè)置下載完成之后負責接收的Receiver,這個類要繼承 BroadcastReceiver     
                    values.put(Downloads.DESTINATION,save_path);//設(shè)置下載到的路徑,這個需要在Receiver里自行處理
                    values.put(Downloads.TITLE,title);//設(shè)置下載任務(wù)的名稱
                    this.getContentResolver().insert(Downloads.CONTENT_URI, values);//將其插入到DownloadManager的數(shù)據(jù)庫中,數(shù)據(jù)庫會觸發(fā)修改事件,啟動下載任務(wù)


               2:如何為DownloadManager設(shè)置代理,比如Wap
                         values.put(Downloads.PROXY_HOST,"10.0.0.172");
                        values.put(Downloads.PROXY_PORT,"80");


              3:如何在下載過程中監(jiān)聽下載任務(wù)
                 可以通過監(jiān)聽數(shù)據(jù)庫來實現(xiàn)
                DownloadsChangeObserver mDownloadObserver=new DownloadsChangeObserver(Downloads.CONTENT_URI);
                private class DownloadsChangeObserver extends ContentObserver {
                    public DownloadsChangeObserver(Uri uri) {
                        super(new Handler());
                    }
                    @Override
                    public void onChange(boolean selfChange) {
                        //查詢需要監(jiān)聽的字段
                       //比如要監(jiān)聽實時下載進度,查看當前下載狀態(tài):是否已經(jīng)斷開,或者下載失敗等等
                       StringBuilder wherequery = new StringBuilder(Downloads.TITLE);
                        wherequery.append("=");
                        wherequery.append("'");
                        wherequery.append(mTitle);
                        wherequery.append("'");

                       mDownloadCursor =mContext.getContentResolver().query(Downloads.CONTENT_URI, new String[] {Downloads.TITLE, Downloads.STATUS, Downloads.CURRENT_BYTES,}, wherequery.toString(), null,orderBy);        
                        int mSizeColunmId=mDownloadCursor.getColumnIndexOrThrow(Downloads.CURRENT_BYTES);   
                       mDownloadCursor.moveToFirst();    
                        int size=mDownloadCursor.getInt(mSizeColunmId);
                   }

              4:如何刪除下載記錄
                private void deleteHistory(String title)//刪除掉指定名稱的下載記錄
                { 
                    StringBuilder whereDelete = new StringBuilder(Downloads.TITLE);
                    whereDelete.append("=");
                    whereDelete.append("'");
                    whereDelete.append(str);
                    whereDelete.append("'");
                    this.getContentResolver().delete(Downloads.CONTENT_URI,whereDelete.toString(), null);
                }   

            https://github.com/commonsguy/cw-android/tree/master/Internet/Download
            http://hi-android.info/src/com/android/providers/downloads/DownloadProvider.java.html
            http://www.androidadb.com/source/platform/frameworks/base/core/java/android/app/DownloadManager.java.html

            http://apps-for-android.googlecode.com/svn/trunk/Samples/
            posted on 2011-10-29 18:31 小果子 閱讀(1097) 評論(0)  編輯 收藏 引用

            只有注冊用戶登錄后才能發(fā)表評論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


            久久99精品久久久久久野外 | 精品无码久久久久久久动漫| 精品国产乱码久久久久久郑州公司| 无码AV波多野结衣久久| 国产精品毛片久久久久久久| 久久精品国产第一区二区| 亚洲精品无码久久久| 久久久久久夜精品精品免费啦| 久久亚洲欧美日本精品| 久久毛片一区二区| 久久亚洲欧美日本精品| A级毛片无码久久精品免费| 亚洲午夜精品久久久久久人妖| 久久久久久极精品久久久| 久久久久高潮毛片免费全部播放| 国产亚洲色婷婷久久99精品91 | 国产精品99久久久精品无码| 久久久久四虎国产精品| 中文字幕无码免费久久| 色综合久久88色综合天天 | av国内精品久久久久影院| 久久成人国产精品免费软件| 久久综合九色综合网站| 久久青青色综合| 久久久久久国产精品无码下载 | 久久久青草青青国产亚洲免观| 激情伊人五月天久久综合| 久久久精品人妻一区二区三区蜜桃| 国产精品免费久久久久影院| 91精品国产9l久久久久| 久久综合精品国产二区无码| 亚洲AV日韩精品久久久久久| 国产香蕉久久精品综合网| 亚洲美日韩Av中文字幕无码久久久妻妇 | 久久久精品人妻一区二区三区蜜桃 | 久久久91精品国产一区二区三区 | 久久精品天天中文字幕人妻 | 四虎国产精品免费久久| 久久久精品日本一区二区三区| 色综合色天天久久婷婷基地| 亚洲天堂久久精品|