android之檔案下載

來源:互聯網
上載者:User

標籤:下載   android   get   http   

android之檔案下載

android檔案下載有三個要點

  1. 不能在主線程中下載檔案
  2. 在設定檔中給定許可權
  3. 使用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為好。

android之檔案下載

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.