多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國(guó)內(nèi)最全I(xiàn)T社區(qū)平臺(tái) 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當(dāng)前位置:首頁(yè) > 互聯(lián)網(wǎng) > Android之?dāng)帱c(diǎn)續(xù)傳下載

Android之?dāng)帱c(diǎn)續(xù)傳下載

來(lái)源:程序員人生   發(fā)布時(shí)間:2014-11-13 08:25:06 閱讀次數(shù):2063次

今天學(xué)習(xí)了Android開(kāi)發(fā)中比較難的1個(gè)環(huán)節(jié),就是斷點(diǎn)續(xù)傳下載,很多人看到這個(gè)標(biāo)題就感覺(jué)頭大,的確,如果沒(méi)有良好的邏輯思惟,這塊的確很難弄明白。下面我就將自己學(xué)到的知識(shí)和1些見(jiàn)解寫下供那些在這個(gè)環(huán)節(jié)還煩惱的人參考。這里我以下載mp3文件為例。

斷點(diǎn)續(xù)傳下載,顧名思義,那就是我們?cè)?次下載未結(jié)束時(shí),退出下載,第2次下載時(shí)會(huì)接著第1次下載的進(jìn)度繼續(xù)下載。那末怎樣記錄第1次下載的數(shù)據(jù)呢,這里肯定就要用到http://www.vxbq.cn/db/了。下面就是我創(chuàng)建http://www.vxbq.cn/db/的1個(gè)SQLiteOpenHelper類。用來(lái)首次運(yùn)行時(shí)創(chuàng)建http://www.vxbq.cn/db/。

DBHelper類:

復(fù)制代碼
1 package cn.yj3g.DBHelper; 2 3 import android.content.Context; 4 import android.database.sqlite.SQLiteDatabase; 5 import android.database.sqlite.SQLiteOpenHelper; 6 7 /** 8 * 建立1個(gè)http://www.vxbq.cn/db/幫助類 9 */ 10 public class DBHelper extends SQLiteOpenHelper { 11 //download.db-->http://www.vxbq.cn/db/名 12 public DBHelper(Context context) { 13 super(context, "download.db", null, 1); 14 } 15 16 /** 17 * 在download.dbhttp://www.vxbq.cn/db/下創(chuàng)建1個(gè)download_info表存儲(chǔ)下載信息 18 */ 19 @Override 20 public void onCreate(SQLiteDatabase db) { 21 db.execSQL("create table download_info(_id integer PRIMARY KEY AUTOINCREMENT, thread_id integer, " 22 + "start_pos integer, end_pos integer, compelete_size integer,url char)"); 23 } 24 @Override 25 public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { 26 27 } 28 29 }
復(fù)制代碼

下面來(lái)看主界面的布局,在這里,我只設(shè)計(jì)了1個(gè)ListView來(lái)顯示下載的音樂(lè)的名稱,和1個(gè)開(kāi)始下載按鈕和1個(gè)暫停按鈕。

布局文件以下:

main.xml:

復(fù)制代碼
1 <?xml version="1.0" encoding="utf⑻"?> 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 3 android:orientation="vertical" 4 android:layout_width="fill_parent" 5 android:layout_height="fill_parent" 6 android:id="@+id/llRoot"> 7 <ListView android:id="@android:id/list" 8 android:layout_width="fill_parent" 9 android:layout_height="fill_parent"> 10 </ListView> 11 </LinearLayout>
復(fù)制代碼

list_item.xml:

復(fù)制代碼
1 <?xml version="1.0" encoding="utf⑻"?> 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 3 android:orientation="vertical" 4 android:layout_width="fill_parent" 5 android:layout_height="wrap_content"> 6 <LinearLayout 7 android:orientation="horizontal" 8 android:layout_width="fill_parent" 9 android:layout_height="wrap_content" 10 android:layout_marginBottom="5dip"> 11 <TextView 12 android:layout_width="fill_parent" 13 android:layout_height="wrap_content" 14 android:layout_weight="1" 15 android:id="@+id/tv_resouce_name"/> 16 <Button 17 android:layout_width="fill_parent" 18 android:layout_height="wrap_content" 19 android:layout_weight="1" 20 android:text="下載" 21 android:id="@+id/btn_start" 22 android:onClick="startDownload"/> 23 <Button 24 android:layout_width="fill_parent" 25 android:layout_height="wrap_content" 26 android:layout_weight="1" 27 android:text="暫停" 28 android:id="@+id/btn_pause" 29 android:onClick="pauseDownload"/> 30 </LinearLayout> 31 </LinearLayout>
復(fù)制代碼

主界面運(yùn)行效果以下:

下面我們來(lái)看具體實(shí)現(xiàn)下載的方法。首先,我們要定義1個(gè)記錄在下載時(shí)各個(gè)時(shí)期的數(shù)據(jù)的類,這里我創(chuàng)建了1個(gè)DownloadInfo類來(lái)記錄。代碼以下:

DownloadInfo:

復(fù)制代碼
1 package cn.yj3g.entity; 2 /** 3 *創(chuàng)建1個(gè)下載信息的實(shí)體類 4 */ 5 public class DownloadInfo { 6 private int threadId;//下載器id 7 private int startPos;//開(kāi)始點(diǎn) 8 private int endPos;//結(jié)束點(diǎn) 9 private int compeleteSize;//完成度 10 private String url;//下載器網(wǎng)絡(luò)標(biāo)識(shí) 11 public DownloadInfo(int threadId, int startPos, int endPos, 12 int compeleteSize,String url) { 13 this.threadId = threadId; 14 this.startPos = startPos; 15 this.endPos = endPos; 16 this.compeleteSize = compeleteSize; 17 this.url=url; 18 } 19 public DownloadInfo() { 20 } 21 public String getUrl() { 22 return url; 23 } 24 public void setUrl(String url) { 25 this.url = url; 26 } 27 public int getThreadId() { 28 return threadId; 29 } 30 public void setThreadId(int threadId) { 31 this.threadId = threadId; 32 } 33 public int getStartPos() { 34 return startPos; 35 } 36 public void setStartPos(int startPos) { 37 this.startPos = startPos; 38 } 39 public int getEndPos() { 40 return endPos; 41 } 42 public void setEndPos(int endPos) { 43 this.endPos = endPos; 44 } 45 public int getCompeleteSize() { 46 return compeleteSize; 47 } 48 public void setCompeleteSize(int compeleteSize) { 49 this.compeleteSize = compeleteSize; 50 } 51 52 @Override 53 public String toString() { 54 return "DownloadInfo [threadId=" + threadId 55 + ", startPos=" + startPos + ", endPos=" + endPos 56 + ", compeleteSize=" + compeleteSize +"]"; 57 } 58 }
復(fù)制代碼

在下載時(shí),我們有進(jìn)度條來(lái)顯示進(jìn)度,怎樣肯定進(jìn)度條的進(jìn)度,大小和起始位置呢?這里我定義了1個(gè)LoadInfo類來(lái)記錄下載器詳細(xì)信息。代碼以下:

LoadInfo:

復(fù)制代碼
1 package cn.yj3g.entity; 2 /** 3 *自定義的1個(gè)記載下載器詳細(xì)信息的類 4 */ 5 public class LoadInfo { 6 public int fileSize;//文件大小 7 private int complete;//完成度 8 private String urlstring;//下載器標(biāo)識(shí) 9 public LoadInfo(int fileSize, int complete, String urlstring) { 10 this.fileSize = fileSize; 11 this.complete = complete; 12 this.urlstring = urlstring; 13 } 14 public LoadInfo() { 15 } 16 public int getFileSize() { 17 return fileSize; 18 } 19 public void setFileSize(int fileSize) { 20 this.fileSize = fileSize; 21 } 22 public int getComplete() { 23 return complete; 24 } <
生活不易,碼農(nóng)辛苦
如果您覺(jué)得本網(wǎng)站對(duì)您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈(zèng)
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 亚洲天堂在线视频播放 | 国产一级特黄aa级特黄裸毛片 | 国产精品1区2区3区 国产精品1页 | 2021国产精品系列一区二区 | 国产精品亚洲精品一区二区三区 | 伊人影院在线观看 | 最近中文字幕高清免费大全8 | 久久三级视频 | 久久国产精品免费一区二区三区 | 一本一道久久综合狠狠老 | 日韩欧美精品综合久久 | 国产欧美一区二区三区视频在线观看 | 亚洲一区二区三区在线网站 | 欧美性大战久久久久久久 | 在线看片777av免费观看 | 日本在线视频一区 | 国产成人精品一区二三区在线观看 | 好大好爽好舒服 | 亚洲久久在线观看 | 666永久视频在线 | 亚洲伊人久久大香线蕉苏妲己 | 亚洲另类小说图片 | 一级做a爰片性色毛片男 | 一区二区三区视频在线播放 | 亚洲欧洲国产成人综合一本 | 欧美xxxxxxxxxx黑人| 99久久精品费精品国产一区二 | haodiaose在线精品免费视频 | 欧美性猛交xxxx免费看 | 成人18xxxx网站 | 亚洲久久久久久久 | 97精品国产综合久久久久久欧美 | 琪琪jav| 国产99精品一区二区三区免费 | 亚洲欧美日韩在线观看播放 | 欧美另类丰满69xxxxx | yellow中文字幕在线高清 | 男人尻女人视频 | 欧美另类高清 videos | 一级毛片视频免费 | 国产91第一页 |