Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發實例 >> Android---網絡交互之客戶端請求服務端資源後續

Android---網絡交互之客戶端請求服務端資源後續

編輯:Android開發實例

昨天嘗試通過網絡連接將服務器資源下載到客服端,然而也發現一些問題,比如能夠成功的將mp3、txt、png下載下來,但是將壓縮文件(rar)下下來之後卻不能解壓出來。當初以為是對於android平台所不支持的文件格式就會出現這樣的情況,但是同樣的gif格式的圖片,android同樣無法打開,但是下下來之後卻能夠成功的打開。暫時也未能找到相關的資料說明,還望那個大牛能解釋解釋。

在查找相關android網絡連接資料的時候,發現有很多示例:有的是以文件方式存儲,有的是直接將文件內容讀取出來顯示。對於沒熟悉的,確實感覺很困難,容易混淆都不知道看哪一個比較好。當我理清基本的概念後,我也嘗試著將一些文本文件直接解析顯示(txt、xml)

上一篇講到了從網絡數據流到具體文件的紐帶(FileOutputStream),而我們將文件與String對比,就會使用到另外一個對象BufferedReader(從字符輸入流中讀取文本,緩沖各個字符,從而實現字符、數組和行的高效讀取).

 
InputStream is=connect.getInputStream();
InputStreamReader isr=new InputStreamReader(is, "gbk");
BufferedReader br=new BufferedReader(isr);       //可變字符串
StringBuffer sb=new StringBuffer();
//存儲一行數據(br.readLine每次讀寫一行)
String readLine=null;
while((readLine=br.readLine())!=null){
Log.v("tag", "------------------"+sb.toString());
sb.append(readLine).append("\n");
}
br.close();
is.close();
connect.disconnect();
showText=new String(sb.toString().getBytes("gbk"), "gbk");

這裡有一個要注意的問題就是就是編碼問題,這也就是為什麼在android中漢字出現亂碼問題的原因,我是這樣理解的:因為window和linux(或java虛擬機)所使用的漢字編碼是不同的,當你從windows下用gbk編碼的漢字到別的平台(另外一種默認的漢字編碼方式),就會出現亂碼,所以 從編碼到解析必須統一。

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved