Android FTP 客户端 上传/下载 带进度条实战源码
Android FTP 開發(fā),我個人是使用commons-net-3.1.jar,別問我為什么是度娘教我的,附上commons-net-3.1.jar的開源下載地址http://grepcode.com/snapshot/repo1.maven.org/maven2/commons-net/commons-net/3.1
關(guān)于FTP我們在Android開發(fā)的時候先說一下特別需要注意,就當(dāng)是正餐之前調(diào)味吧。
1.FTP是基于TCP/IP協(xié)議的常用端口是:21,也就是如果不設(shè)置端口實(shí)際上就是訪問了21端口
2.FTP編程要特別考慮到編碼的問題,尤其是要和FTP服務(wù)的編碼能匹配,實(shí)際上一搬都是UTF-8,Android也是UTF-8,所以大部分時候沒問題,但是一旦亂碼就要想想是不是客戶端的編碼和服務(wù)端編碼不匹配了。
3.由于Android上編程要求任何帶網(wǎng)若訪問的類不能放在主UI的絢爛線程,所以一定要注意另開線程使用這個包里FTP類org.apache.commons.net.ftp.FTPClient。
4.記得?<uses-permission android:name="android.permission.INTERNET" />加在AndroidManifest.xml之后
5.注意FTP服務(wù)起如果和客戶端長時間沒有信息交互可能會自動斷開當(dāng)前連接,所以根據(jù)實(shí)際情況每隔一段時間調(diào)用FTPClient類下的sendNoOp()方法這類似于心跳包。
下面是正餐直接上Demo效果圖,有圖有真相呵呵,功能一目了然,上傳下載都有進(jìn)度條,貼出源碼下載地址,只要1分。
我封裝一個工具類UitlsFTP(見源碼),來處理FTP的連接,上傳/下載,都是帶進(jìn)度的額
說一下代碼的中關(guān)鍵小技巧部分,雖然利用重寫InputStream的Read方法可以輕松實(shí)現(xiàn)進(jìn)度監(jiān)控,但是為了絢爛UI時節(jié)約性能,可以根據(jù)實(shí)際情況選擇每隔300ms或是200ms渲染一次進(jìn)度,我這里就是200ms絢爛一次
總結(jié)
以上是生活随笔為你收集整理的Android FTP 客户端 上传/下载 带进度条实战源码的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 恩德斯豪斯/Endress+Hauser
- 下一篇: android平板手,千元级Androi