亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

Android-Service系列之斷點續傳下載

XRay_Chen 移動開發工程師
難度中級
時長 1小時46分
學習人數
綜合評分9.53
58人評價 查看評價
9.7 內容實用
9.6 簡潔易懂
9.3 邏輯清晰
點擊兩次下載,相當于開啟了兩個下載線程,同時顯示在一個進度條上,進度條會變得比較魔性
我錯了,不是壓縮文件不能下載,而是我用了https地址所以不行。。。
只測試過兩種文件,APK能下載,但是壓縮文件不可以,進度條不動。不知什么原因
還不錯?。?/div>
threadinfo的start字段是不是多余的,恒為0?
這個老師666
之后再主方法中調用
verifyStoragePermissions(MainActivity.this);
publicstaticvoidverifyStoragePermissions(Activityactivity{intpermission=ActivityCompat.checkSelfPermission(activity,Manifest.permission.WRITE_EXTERNAL_STORAGE);if(permission!=PackageManager.PERMISSION_GRANTED{ActivityCompat.requestPermissions(activity,PERMISSIONS_STORAGE,REQUEST_EXTERNAL_STORAGE); }
這里我告訴大家一下權限的聲明,對于Android6.0以上的就需要Activity來聲明權限了。
在MainActivity里面添加如下代碼:
private static final int REQUEST_EXTERNAL_STORAGE = 1;
private static String[] PERMISSIONS_STORAGE = {
Manifest.permission.READ_EXTERNAL_STORAGE,
Manifest.permission.WRITE_EXTERNAL_STORAGE
};
老師講的很細致,思路很清晰,很好的課程。期待老師發布更多這么棒的課程。
sdk 23+ 要在activity中請求權限 http://stackoverflow.com/questions/8854359/exception-open-failed-eacces-permission-denied-on-android
案例好,講的也好,贊一個!
搞錯了,Service的注冊聯系到授權那邊去了,哈。
提示Service沒有注冊,降低一下目標SDK的版本試試,Android6.0的授權就直接在manifest.xml寫是不行的。
關于進度條進行到50多或者70多的時候就變為負數,那是因為這里老師定義的長度均用int型,而下載的文件可能過大,超過了int進行相除的位數,導致結果顯示為負數。
解決方法為:在計算下載百分比的時候先把已下載的長度和文件的總長度轉化為long型進行相除計算,再轉化為int型廣播出去,進而設置進度條。
課程須知
需要完成Android攻城師入門的學習
老師告訴你能學到什么?
1:如何實現斷點續傳 2:使用廣播接收消息 3:多線程技術更新UI 4:Service的實際應用

微信掃碼,參與3人拼團

微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

友情提示:

您好,此課程屬于遷移課程,您已購買該課程,無需重復購買,感謝您對慕課網的支持!

本次提問將花費2個積分

你的積分不足,無法發表

為什么扣積分?

本次提問將花費2個積分

繼續發表請點擊 "確定"

為什么扣積分?

舉報

0/150
提交
取消