android上傳文件進度條
A. 如何實現在Android文件上傳進度條
實現在android實現帶進度條的上傳效果效果如圖: 用到以下兩個類就可實現帶進度條的文件上傳: 1、CustomMultiPartEntity extends MultipartEntity, 2、HttpMultipartPost extends AsyncTask 代碼如下: import java/UploadImage.php"); try{ = newCustomMultipartEntity( newProgressListener() { @Override public void transferred(longnum){ publishProgress((int) ((num / (float) totalSize) * 100)); } }); // We use FileBody to transfer an image multipartContent.addPart("uploaded_file", newFileBody( newFile(m_userSelectedImagePath))); totalSize= multipartContent.getContentLength(); // Send it httpPost.setEntity(multipartContent); HttpResponseresponse = httpClient.execute(httpPost, httpContext); String serverResponse = EntityUtils.toString(response.getEntity()); ResponseFactoryrp = newResponseFactory(serverResponse); return(TypeImage) rp.getData(); } catch(Exception e) { System.out.println(e); } returnnull; } @Override protectedvoidonProgressUpdate(Integer... progress){ pd.setProgress((int) (progress[0])); } @Override protectedvoidonPostExecute(TypeUploadImageui) { pd.dismiss(); } } 在 transferred()函數中調用publishProgress((int) ((num / (float) totalSize) * 100)); 在onProgressUpdate()實現上傳進度的更新操作
B. android開發中videoview的自帶的進度條如何隱藏
android自帶的播放器的進度條是默認會自動隱藏的,不能設置的。除非你去改源代碼。你可以下個其他的播放器,看看能不能設置為不自動隱藏。
C. android progressbar第二條進度條有什麼用
可以記錄單文件的進度啊
比如下載更新,第一條是總進度,第二條是裡面某些小文件的進度
D. 文件上傳時,進度條的設計原理是什麼
以java為例:一般來說,上傳也好,下載也好,都要用到JavaI/O。 而計算進度的原理,不就是已經傳輸的大小與總大小的比值嘛。 這樣就簡單了,就拿最基本的OutputStream來說,它的基本的寫出方法為 void write(byte[] b) ,實際上寫出的過程不就是通過InputStream循環讀,然後OutputStream循環寫嘛。 你只要事先通過File類取得文件的總大小,然後在讀入或寫出的循環里加一個簡單的進度計算的步驟,每讀取或寫出一次,就將已傳輸大小增加b.length,求出比值,更新進度條。具體的計算間隔,可以根據循環次數或時間間隔來定。 編碼上,估計要用到I/O流,File,Socket以及Thread。 因為你是使用fileupload插件,所以最好查看一下它的實現代碼,已決定如何將進度功能加入其中。
E. Android開發怎麼自定義繪制如下圖中這種進度條急需!在線等!
一)變換前背景
先來看看progressbar的屬性:
1. <ProgressBar
2. android:id="@+id/progressBar"
3. style="?android:attr/progressBarStyleHorizontal"
4. android:layout_width="match_parent"
5. android:layout_height="wrap_content"
6. android:layout_margin="5dip"
7. android:layout_toRightOf="@+id/progressBarV"
8. android:indeterminate="false"
9. android:padding="2dip"
10. android:progress="50" />
根據style="?android:attr/progressBarStyleHorizontal",我們找到源碼中的style.xml
1. <style name="Widget.ProgressBar.Horizontal">
2. <item name="android:indeterminateOnly">false</item>
3. <item name="android:progressDrawable">@android:drawable/progress_horizontal</item>
4. <item name="android:indeterminateDrawable">@android:drawable/progress_indeterminate_horizontal</item>
5. <item name="android:minHeight">20dip</item>
6. <item name="android:maxHeight">20dip</item>
7. </style>
看到
<item name="android:progressDrawable">@android:drawable/progress_horizontal</item>
木有,繼續發掘源碼,找到drawable下面的progress_horizontal.xml,這就是我們今天的主角了:
1. <layer-list xmlns:android="http://schemas.android.com/apk/res/android">
2.
3. <item android:id="@android:id/background">
4. <shape>
5. <corners android:radius="5dip" />
6. <gradient
7. android:startColor="#ff9d9e9d"
8. android:centerColor="#ff5a5d5a"
9. android:centerY="0.75"
10. android:endColor="#ff747674"
11. android:angle="270"
12. />
13. </shape>
14. </item>
15.
16. <item android:id="@android:id/secondaryProgress">
17. <clip>
18. <shape>
19. <corners android:radius="5dip" />
20. <gradient
21. android:startColor="#80ffd300"
22. android:centerColor="#80ffb600"
23. android:centerY="0.75"
24. android:endColor="#a0ffcb00"
25. android:angle="270"
26. />
27. </shape>
28. </clip>
29. </item>
30.
31. <item android:id="@android:id/progress">
32. <clip>
33. <shape>
34. <corners android:radius="5dip" />
35. <gradient
36. android:startColor="#ffffd300"
37. android:centerColor="#ffffb600"
38. android:centerY="0.75"
39. android:endColor="#ffffcb00"
40. android:angle="270"
41. />
42. </shape>
43. </clip>
44. </item>
45.
46. </layer-list>
看到android:id="@android:id/progress"木有,看到android:id="@android:id/secondaryProgress"木有
把這個文件復制到自己工程下的drawable,就可以隨心所欲的修改shape的屬性,漸變,圓角等等
那麼怎麼放一個圖片進去呢,ok,新建progress_horizontal1.xml:
1. <?xml version="1.0" encoding="utf-8"?>
2. <layer-list xmlns:android="http://schemas.android.com/apk/res/android">
3.
4. <item android:id="@android:id/progress" android:drawable="@drawable/progressbar" />
5.
6. </layer-list>
在android:drawable中指定你處理好的圖片
然後回到布局中
1. <ProgressBar
2. android:id="@+id/progressBar1"
3. android:layout_width="match_parent"
4. android:layout_height="wrap_content"
5. android:layout_below="@+id/progressBar"
6. android:layout_margin="5dip"
7. android:layout_toRightOf="@+id/progressBarV"
8. android:background="@drawable/progress_bg"
9. android:indeterminate="false"
10. android:indeterminateOnly="false"
11. android:maxHeight="20dip"
12. android:minHeight="20dip"
13. android:padding="2dip"
14. android:progress="50"
15. android:progressDrawable="@drawable/progress_horizontal1" />
android:background="@drawable/progress_bg"指定背景
android:progressDrawable="@drawable/progress_horizontal1"前景使用上面的progress_horizontal1
要是還不行
你來我們群里說吧
這里是開發者互相學習交流的 有大神
讓他們給你解釋你的疑問 號 碼look at my n a m e.....
F. 安卓開發進度條問題
出現球型的原因是你下面這兩句話造成的 android:layout_width="200dp"
android:layout_height="wrap_content"你可以把長和寬的值設成一樣大小,或都設成wrap_content,就是個園型的了
G. android布局文件里的ProgressBar長形進度條怎麼自定義樣式
在windows操作系統下Android studio按照如下步驟自動義ProgressBar長形進度條的樣式。
1、首先創建一個android項目,打開其中的XML布局文件,如下圖:
H. android app上傳文件速度太慢怎麼處理
一、釋放XP自帶保留20%的帶寬,讓你的網速更快! 1、運行組策略編輯器程序(gpedit.msc)。在「『本地計算機』策略」中,逐級「計算機配置」→「管理模板」→「網路(互聯網)」→「QoS數據包調度程序」分支。在屏幕右邊會出現「QoS數據包調度程序」策略。接著單擊右邊子項目的「限制可保留帶寬」。這時,左邊會顯示「限制可保留帶寬」的清楚描述。從這里我們可了解到「限制可保留帶寬」的有些基本情形。了解之後我們就可以對「限制可保留帶寬」進行設置了。單擊「限制可保留帶寬」下「顯示」旁邊的「屬性」(或選取子項目「限制可保留帶寬」,再點擊右鍵→「屬性」也可),出現「限制可保留帶寬」對話框,先點擊「說明」,再進一步了解「限制可保留帶寬」確定系統(System)可保留的連接帶寬的百分比情形。 之後我們就可以對另外20%帶寬進設置了。點擊「設置」。「設置」為我們提供了三個選取(未配置、已啟用、已禁用),選取「已啟用」,接著再將帶寬限制旁邊的%設置為0%即可,之後按確定退出。 2、單擊「開始」→「連接到」→「顯示全部連接」。 選中你所建立的連接,用滑鼠右鍵單擊屬性,在出現的連接屬性中單擊網路(互聯網),在顯示的網路(互聯網)對話框中,檢查「此連接用下列項目」中「QoS數據包調度程序」是不是已打了勾,沒問題就按確定退出。 3、最後重新開啟系統(System)便完成對另外20%的頻寬利用了 二、清理 ①清空Internet臨時文件夾 他人查看「Internet臨時文件夾」下的圖、Flash等文件便能大體知道你曾到過的網站。要清理它們,可依次單擊IE菜單欄中的「工具」→「Internet選項」,打開(OPEN)「Internet選項」對話框,在「常規」標簽中點擊「刪掉文件」按鈕,在彈出的「刪掉文件」窗口中勾選「刪掉全部離線內容」,最後點擊「確定」。 三、關掉上網設備貓和路由,十多分鍾後再開機 四、還有網路(互聯網)網站問題
I. android 文件上傳時 怎麼算文件上傳速度
計算的下載速度,舉例說明一下吧。
例如每隔N秒就改變當前下載速度數字的,N秒前的下載進度百分比m%,
N秒後的下載進度百分比n%,當前下載問題的總大小Size【換算成多少kb】
(m%-n%)*Size/N就是 這段時間的下載或上傳速度了。
注意:記得增加判斷一些邊界問題。
J. android中progressbar進度條有哪些
一、進度條的定義。
進度條即計算機在處理任務時,實時的,以圖片形式顯示處理任務的速度,完成度,剩餘未完成任務量的大小,和可能需要處理時間,一般以長方形條狀顯示。
二、進度條的由來。
在數字運算機發明之前,就已經有了進度條的概念。1896 年,Karol Adamiecki(波蘭人;經濟學家,工程師和管理研究人員),發明了一種叫做harmonogram(波蘭語,時間表)的圖表;1903年,他的理論在俄羅斯技術界引起了轟動。他在波蘭雜志《 Przegląd Techniczny 》發表了一些文章(1909)。 1931年,他發表了一篇更廣為人知的文章《armonogram or harmonograf.》(波蘭語,日程或時間表),描述他的圖。Adamiecki只是在波蘭和俄羅斯發表這些文章,較少被英語國家了解。
同一時間,亨利·甘特(Henry Gantt)提出類似的方法已在西方普及,他在1910年和1915年都發表過文章。算是以訛傳訛吧,Adamiecki的圖表就被叫做為甘特圖。這個概念後來被用於計算領域。
三、進度條的應用。
以文件處理為例:
單個文件的進度處理方法:
使用CopyFileEx進行文件復制,這個函數專門提供了一個回調函數用來處理進度條,詳細參見MSDN。
總體進度的處理方法:
如果一批文件,首先獲得文件的數量count = 文件數量
設置進條的范圍為0至count,每完成一個文件,就向前進一步。