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