Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> 22.android網絡編程

22.android網絡編程

編輯:關於Android編程

以下載一個服務器圖片威力,演示android網絡請求的過程

activity_main.xml



    
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;


import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.view.View;
import android.widget.ImageView;
import android.widget.Toast;
public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }



    public void click(View v){
    	//1.確定地址
    	String path = "http://192.168.0.102:8080/p1.jpg";
    	try {
    		//2.把網址封裝成一個url對象
			URL url = new URL(path);
			//3.獲取客戶端和服務器的連接對象,此時還沒建立連接
			HttpURLConnection conn = (HttpURLConnection) url.openConnection();
			//4.對鏈接對象進行初始化
			conn.setRequestMethod("GET");
			//設置連接超時網絡不好或者地址不對
			conn.setConnectTimeout(5000);
			//設置讀取超時客戶端讀取不到數據
			conn.setReadTimeout(5000);
			//5發送請求與服務器建立連接
			conn.connect();
			//如果狀態碼是200請求成功
			if(conn.getResponseCode() == 200){
				//得到服務器響應頭重的流,流中的數據就是客戶端請求的額數據
				InputStream is = conn.getInputStream();
				//讀取流裡面的數據並構造成位圖
				Bitmap bt = BitmapFactory.decodeStream(is);
				
				ImageView iv = (ImageView) findViewById(R.id.iv);
				//把位圖對象顯示到ImageView
				iv.setImageBitmap(bt);
			}else{
				Toast.makeText(this, "請求失敗", Toast.LENGTH_SHORT).show();
			}
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
    	
    }


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