Android入門筆記 - 資料存放區 - 網路

來源:互聯網
上載者:User

標籤:android   網路   擷取伺服器上資源   擷取資料   

       網路作為android的資料存放區的一種,那麼極大的擴大了app的使用範圍,因為任何資訊我們都可以從網路上擷取,試想一下我們自己搭建一個伺服器,然後通過app向伺服器請求資料,那麼要修改顯示資料的時候,我們只需要修改伺服器上的資料,app只是一個顯示載體。目前確實有很多app是這樣開發的,在app內部可以嵌套一個瀏覽器,當然也可以使用android內建的webview,那麼開發就可以分開了,android的做android的部分,網站的做網站的部分,極大的提高了開發效率,而且也增加了app的功能和多樣性,是不是很贊。今天我們來簡單介紹一下android通過網路來擷取資料:


用作測試,我在自己機器上搭建了一個Tomcat7.0伺服器,很簡單,搭建可以參照其他部落格搭建一個,用作自己測試很方便。然後建立了一個網站項目(Web1),在網站中放置了一個txt檔案: android.txt. 然後我們看怎麼通過網路來擷取並讀取它的內容。


這兩個檔案是相當於伺服器上的檔案:


我們來看看android的代碼:

        getNetDataBtn.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                try {                    URL url = new URL(                            "http://192.168.1.23:8080/Web1/android.txt");                    URLConnection urlConn = url.openConnection();                    InputStream is = urlConn.getInputStream();                    byte[] buffer = new byte[is.available()];                    is.read(buffer);                    String words = EncodingUtils.getString(buffer, "UTF-8");                    Log.e(TAG, "words:" + words);                } catch (IOException e) {                    e.printStackTrace();                }            }        });

這裡就沒有貼出全代碼了,Mainactivity裡面就一個按鈕,點擊相應擷取檔案資料。

擷取的結果:



注意:

1. http://192.168.1.23:8080/Web1/android.txt 這個地址中,192.168.1.23 是我在區域網路中的IP地址,這裡就android模擬器就不要使用127.0.0.1來訪問本機上的伺服器了,因為這個地址已經被android模擬器自己佔用,所以要用區域網路ip地址訪問。 8080是連接埠號碼,根據你自己的伺服器配置而定。

2. 我們在將位元組流轉化為string的時候,最好是指定編碼格式,通常的做法就是使用 EncodingUtils來轉換,UTF-8是一種編碼格式,也可以使用GB2312等,自己去查看一些資料吧。這個格式應該是按照伺服器上這個檔案的格式來確定的。

3. android中訪問網路需要許可權:    <uses-permission android:name="android.permission.INTERNET"/>



這個例子很簡單,只是為了引導一下,以後再做詳解!




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.