關(guān)于進(jìn)度條進(jìn)行到50多或者70多的時(shí)候就變?yōu)樨?fù)數(shù),那是因?yàn)檫@里老師定義的長(zhǎng)度均用int型,而下載的文件可能過(guò)大,超過(guò)了int進(jìn)行相除的位數(shù),導(dǎo)致結(jié)果顯示為負(fù)數(shù)。
解決方法為:在計(jì)算下載百分比的時(shí)候先把已下載的長(zhǎng)度和文件的總長(zhǎng)度轉(zhuǎn)化為long型進(jìn)行相除計(jì)算,再轉(zhuǎn)化為int型廣播出去,進(jìn)而設(shè)置進(jìn)度條。
解決方法為:在計(jì)算下載百分比的時(shí)候先把已下載的長(zhǎng)度和文件的總長(zhǎng)度轉(zhuǎn)化為long型進(jìn)行相除計(jì)算,再轉(zhuǎn)化為int型廣播出去,進(jìn)而設(shè)置進(jìn)度條。
2016-09-25
最贊回答 / 慕虎8944750
如果是bindservice啟動(dòng),當(dāng)前activity銷(xiāo)毀,service就銷(xiāo)毀了,下載會(huì)失敗!startservice是啟動(dòng)的service不會(huì)隨activity的銷(xiāo)毀而銷(xiāo)毀
2016-09-17
有些bug,比如:1.最后到達(dá)百分之一百的時(shí)候也要發(fā)送廣播,解決方案:在MainActivity中直接設(shè)置進(jìn)度為100,或者在while(){}后面添加廣播語(yǔ)句intent.putExtra("finished",mFinised*100/mThreadInfo.getEnd());mContext.sendBroadcast(intent);2.狂點(diǎn)下載會(huì)出現(xiàn)多次下載。而且根本無(wú)法暫停。解決方法:在DownloadService中添加/*是否正在下載*/private boolean isDownloading = false;接下來(lái)相信聰明的你應(yīng)該知道怎么做(onStartCommand)
2016-09-04
最新回答 / Lavi_La
http://down.360safe.com/yunpan/360wangpan_setup_6.5.6.1288.exe360云盤(pán)客戶(hù)端的下載地址
2016-09-01
最新回答 / qq_阿貓_0
知道了,虛擬機(jī)的原因
if (intent.getAction().equals(DownloadService.ACTION_UPDATE)) {
int finished = intent.getExtras().getInt("finished");
if (mPbProgress.getProgress() != finished) {
Log.d(TAG, "finished:" + finished);
mPbProgress.setProgress(finished);
}
}
int finished = intent.getExtras().getInt("finished");
if (mPbProgress.getProgress() != finished) {
Log.d(TAG, "finished:" + finished);
mPbProgress.setProgress(finished);
}
}
2016-08-18
最新回答 / 慕移動(dòng)9181930
我也是碰到這個(gè)問(wèn)題了的,下面是我的解決辦法,shexyptebhbvusougjmcrxjumkbffqdlsdgftdcylfiouqxzdmabzvercuxxzvovtmmvwohoxqmgtxnafykkwdpovonztolxvmgrfrqsbdzjtvqvlfic
2016-08-09
很多人手機(jī)上是沒(méi)有sdk卡的。老師這個(gè)答案是拿到sd卡的路徑。
部分手機(jī)是不對(duì)的。
比如魅族Environment.getExternalStorageDirectory()即可,就是拿到已有的內(nèi)存。再拿后面的就會(huì)報(bào)錯(cuò)。
因?yàn)楹竺婺莻€(gè)方法getabsolutepath();一般情況下是拿手機(jī)外置路徑的。大家多查閱自己的機(jī)型,選擇適合自己的方法、
部分手機(jī)是不對(duì)的。
比如魅族Environment.getExternalStorageDirectory()即可,就是拿到已有的內(nèi)存。再拿后面的就會(huì)報(bào)錯(cuò)。
因?yàn)楹竺婺莻€(gè)方法getabsolutepath();一般情況下是拿手機(jī)外置路徑的。大家多查閱自己的機(jī)型,選擇適合自己的方法、
2016-08-02
最新回答 / onceeeeday
DownloadTask.javapackage services;import java.io.File;import java.io.IOException;import java.io.InputStream;import java.io.RandomAccessFile;import java.net.HttpURLConnection;import java.net.URL;import java.util.ArrayList;import java.util.List;import java....
2016-07-27
點(diǎn)擊幾次下載時(shí),會(huì)創(chuàng)建多個(gè)線程下載。我弄了個(gè)簡(jiǎn)單的辦法,當(dāng)點(diǎn)擊開(kāi)始下載后,將按鈕的點(diǎn)擊屬性設(shè)為false,點(diǎn)擊暫停后,再設(shè)為true
2016-07-24