android文件下載代碼
android文件下載有三個要點
- 不能在主線程中下載文件
- 在配置文件中給定權限
- 使用http協議的get方法連接網絡下載文件
做好這三點就可以成功的下載文件了,前面兩點非常簡單,但很容易忘記
一般程序崩潰都是因為這兩個原因啦。而重點學習了如何使用http協議中的get方法。
public class Download { /** * 文本文件下載方法,接受下載地址的URL,返回一個字符串 */ public String download(String urlString){ StringBuffer sb = new StringBuffer(); BufferedReader reader = null; String line = null; try { //創建一個HttpClient對象 HttpClient client = new DefaultHttpClient(); //創建一個HttpGet對象,將urlString傳遞給構造函數 HttpGet httpGet = new HttpGet(urlString); //執行這個請求對象,從服務器得到響應 HttpResponse response = client.execute(httpGet); //得到響應中的狀態碼 int code = response.getStatusLine().getStatusCode(); //200為正常響應的狀態碼,其他為網絡連接錯誤 if (code == 200) { //從響應中得到實體,再從實體中得到輸入流 InputStream inputStream = response.getEntity().getContent(); //將輸入流轉換為字符串流,便于處理 reader = new BufferedReader(new InputStreamReader(inputStream)); while ((line = reader.readLine())!=null) { sb.append(line); } } } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } return sb.toString(); }
成功從自己搭建的本地服務器tomcat中下載到xml文件
其實get方法還是非常好理解的。
關鍵在于發出請求—–>得到響應—–>分析響應是否正確—->處理響應內容。
當然,get方法在從服務器請求數據時比較好用,向服務器發送數據的時候,更多的使用的是post方法。由于這次是下載,就直接使用了get方法。下面是post方法與get方法的區別。
在客戶端,Get方式在通過URL提交數據,數據在URL中可以看到;POST方式,數據放置在HTML HEADER內提交。
GET方式提交的數據最多只能有1024字節,而POST則沒有此限制。
安全性問題。使用 Get 的時候,參數會顯示在地址欄上,而 Post 不會。所以,如果這些數據是中文數據而且是非敏感數據,那么使用 get;如果用戶輸入的數據不是中文字符而且包含敏感數據,那么還是使用 post為好。
本文由用戶 ymny 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!