• <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   管理


            亚洲国产欧洲综合997久久| 国产国产成人精品久久| 久久国产成人午夜aⅴ影院| 国产成人久久精品二区三区| 久久亚洲AV无码西西人体| 久久久久久国产a免费观看黄色大片| 久久国产精品波多野结衣AV | 色婷婷综合久久久中文字幕| 99久久成人国产精品免费| 精品久久人人妻人人做精品| 人妻久久久一区二区三区| 欧美激情精品久久久久| 午夜欧美精品久久久久久久| 久久久久99精品成人片 | 婷婷久久综合九色综合九七| 国产精品美女久久久m| 亚洲精品国精品久久99热| 精品午夜久久福利大片| 久久久久久久久久久| 国产农村妇女毛片精品久久| 国产精品久久久久国产A级| 久久精品卫校国产小美女| 欧美激情精品久久久久久| 亚洲国产二区三区久久| 色偷偷久久一区二区三区| 日产精品久久久久久久| 亚洲国产成人精品无码久久久久久综合 | 国产精品99久久久精品无码| 狠狠精品干练久久久无码中文字幕 | 久久人妻AV中文字幕| 亚洲午夜精品久久久久久浪潮 | 亚洲va久久久久| 一级做a爰片久久毛片免费陪| 久久久久这里只有精品| 久久99精品久久久久久齐齐| 99久久无码一区人妻| 国内精品久久久久国产盗摄| 国产免费福利体检区久久| 久久精品一区二区三区中文字幕| 国产69精品久久久久99| 久久国产综合精品五月天|