如何在Android上建立HTTP GET連線
在Android上建立一個HTTP GET連線,是最基本也是最重要的功能,因為你可以透過HTTP GET讓你的APP連上網際網路取得所需要的資源。實作的方式有很多種,在此介紹利用Java.net的類別,urlConnection來建立一個HTTP GET連線。
1. 設計步驟流程:
3. 程式編寫提示:
  
4. 範例程式執行:
抓取Google首頁後將HTML內容直接印出在一個TextView中,下列圖示為範例程式執行後的螢幕擷取畫面。
1. 設計步驟流程:
- 設定urlConnection
- 連線
- 讀取回傳結果值
- android.permission.INTERNET
3. 程式編寫提示:
       URL url = new URL("http://www.google.com");  
       //要連線的網址  
       URLConnection urlConnection = url.openConnection();  
       URLConnection.setDefaultRequestProperty("Content-type", "text/html; charset=utf8");  
       InputStream in = new BufferedInputStream(urlConnection.getInputStream());  
       //使用InputStream來接收HTTP server傳回結果  
        
       if(in != null){  
         int dleng = 0;  
         byte[] databuffer = new byte[100];  
         byte[] htmldata = new byte[0];  
         int htmldata_leng = 0;  
         do  
         //利用do-while迴圈來處理傳回值  
         {  
           dleng = in.read(databuffer);  
           if (dleng > 0){  
             htmldata_leng += dleng;  
             byte[] tempbuffer = new byte[htmldata_leng];  
             System.arraycopy(htmldata, 0, tempbuffer, 0, htmldata.length);  
             System.arraycopy(databuffer, 0, tempbuffer, htmldata.length, dleng);  
             htmldata = tempbuffer;  
             //最後結果儲存在htmldata裡  
           }  
         }while(dleng > 0);  
       }  
4. 範例程式執行:
抓取Google首頁後將HTML內容直接印出在一個TextView中,下列圖示為範例程式執行後的螢幕擷取畫面。

 
版主您好,
回覆刪除我是Android的新手,run了您的code之後,在Eclipse出現
Multiple markers at this line
- URL cannot be resolved to a type
- URL cannot be resolved to a type
等等的錯誤訊息,可以麻煩版主把詳細的code po出來嗎,或是寄給我actsaifox@gmail.com
非常感謝
我再將整個project寄給你參考。
回覆刪除你的輸入的URL是如何?
請問版主如何把Android的值傳至PHP在丟到MySQL儲存?
回覆刪除如何把Android client端的變數值傳至MySQL資料庫儲存,傳輸實作的方法有很多種。簡單的實作方式,為透過HTTP協定來完成這件事情。
刪除實現的步驟如下:
1. [Android client端]使用HTTP GET/POST將變數的直傳送到web server
2. [Web server端]使用PHP程式(透過$_GET[]/$_POST[]變數)接收來自Android client的結果
3. [Web server端]使用PHP程式,將接收結果寫入MySQL DB