Android HttpURLConnection网络通信


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
	android:orientation="vertical" android:layout_width="fill_parent"
	android:layout_height="fill_parent">
	<TextView android:layout_width="fill_parent"
		android:layout_height="wrap_content" android:text="@string/hello" />
	<Button android:text="直接获取数据" android:id="@+id/Button01"
		android:layout_width="fill_parent"
		android:layout_height="wrap_content">
	</Button>
	<Button android:text="GET方式传递" android:id="@+id/Button02"
		android:layout_width="fill_parent"
		android:layout_height="wrap_content">
	</Button>
	<Button android:text="POST方式传递" android:id="@+id/Button03"
		android:layout_width="fill_parent"
		android:layout_height="wrap_content">
	</Button>
	<Button android:text="获取图片" android:id="@+id/Button04"
		android:layout_width="fill_parent"
		android:layout_height="wrap_content">
	</Button>
</LinearLayout>


Test Activtity

package com.Aina.Android;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class Test extends Activity {
    /** Called when the activity is first created. */
	private Button btn1 = null;
	private Button btn2 = null;
	private Button btn3 = null;
	private Button btn4 = null;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        btn1 = (Button) this.findViewById(R.id.Button01);
        btn2 = (Button) this.findViewById(R.id.Button02);
        btn3 = (Button) this.findViewById(R.id.Button03);
        btn4 = (Button) this.findViewById(R.id.Button04);
        btn1.setOnClickListener(new Button.OnClickListener(){

			public void onClick(View v) {
				// TODO Auto-generated method stub
				Intent intent = new Intent();
				intent.setClass(Test.this, ShowData.class);
				Bundle b = new Bundle();
				b.putInt("id", 1);
				intent.putExtras(b);
				startActivity(intent);
			}
        	
        });
        btn2.setOnClickListener(new Button.OnClickListener(){

			public void onClick(View v) {
				// TODO Auto-generated method stub
				Intent intent = new Intent();
				intent.setClass(Test.this, ShowData.class);
				Bundle b = new Bundle();
				b.putInt("id", 2);
				intent.putExtras(b);
				startActivity(intent);
			}
        	
        });
        btn3.setOnClickListener(new Button.OnClickListener(){

			public void onClick(View v) {
				// TODO Auto-generated method stub
				Intent intent = new Intent();
				intent.setClass(Test.this, ShowData.class);
				Bundle b = new Bundle();
				b.putInt("id", 3);
				intent.putExtras(b);
				startActivity(intent);
			}
        	
        });
        btn4.setOnClickListener(new Button.OnClickListener(){

			public void onClick(View v) {
				// TODO Auto-generated method stub
				Intent intent = new Intent();
				intent.setClass(Test.this, ShowData.class);
				Bundle b = new Bundle();
				b.putInt("id", 4);
				intent.putExtras(b);
				startActivity(intent);
			}
        	
        });
    }
}



<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
	android:orientation="vertical" android:layout_width="fill_parent"
	android:layout_height="fill_parent">
	<TextView android:id="@+id/TextView_HTTP"
		android:layout_width="fill_parent"
		android:layout_height="wrap_content" />
	<ImageView android:id="@+id/ImageView01"
		android:layout_width="wrap_content"
		android:layout_height="wrap_content">
	</ImageView>
</LinearLayout>

package com.Aina.Android;

import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLEncoder;

import android.app.Activity;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.util.Log;
import android.widget.ImageView;
import android.widget.TextView;

/**
 * com.Aina.Android Pro_HttpURLConnection
 * 
 * @author Aina.huang E-mail: 674023920@qq.com
 * @version 创建时间:2010 Jul 12, 2010 2:08:40 PM 类说明
 */
public class ShowData extends Activity {
	private TextView tv = null;
	private ImageView iv = null;
	private Bitmap mBitmap = null;
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.http);
		Intent intent = this.getIntent();
		Bundle b = intent.getExtras();
		int id = b.getInt("id");
		tv = (TextView) this.findViewById(R.id.TextView_HTTP);
		iv = (ImageView) this.findViewById(R.id.ImageView01);
		if (id == 1) {
			String httpUrl = "http://192.168.0.132:8080/Android/http.jsp";
			URL url = null;
			try {
				url = new URL(httpUrl);
			} catch (MalformedURLException e) {
				e.printStackTrace();
			}
			if (url != null) {
				try {
					HttpURLConnection urlConn = (HttpURLConnection) url
							.openConnection();// 打开连接,此处只是创建一个实力,并没有真正的连接
					urlConn.connect();// 连接
					InputStream input = urlConn.getInputStream();
					InputStreamReader inputReader = new InputStreamReader(input);
					BufferedReader reader = new BufferedReader(inputReader);
					String inputLine = null;
					StringBuffer sb = new StringBuffer();
					while ((inputLine = reader.readLine()) != null) {
						sb.append(inputLine).append("\n");
					}
					reader.close();
					inputReader.close();
					input.close();
					urlConn.disconnect();
					if(sb !=null){
						tv.setText(sb.toString());
					}else{
						tv.setText("读取的内容:NULL");
					}
				} catch (IOException e) {
					e.printStackTrace();
				}
			}else{
				Log.i("TAG", "url is null");
			}
		}else if(id==2){
			String httpUrl = "http://192.168.0.132:8080/Android/httpreq.jsp?par=hk";
			URL url = null;
			try {
				url = new URL(httpUrl);
			} catch (MalformedURLException e) {
				e.printStackTrace();
			}
			if (url != null) {
				try {
					HttpURLConnection urlConn = (HttpURLConnection) url
							.openConnection();// 打开连接,此处只是创建一个实力,并没有真正的连接
					urlConn.setDoInput(true);
					urlConn.setDoOutput(true);
					urlConn.connect();// 连接
					InputStream input = urlConn.getInputStream();
					InputStreamReader inputReader = new InputStreamReader(input);
					BufferedReader reader = new BufferedReader(inputReader);
					String inputLine = null;
					StringBuffer sb = new StringBuffer();
					while ((inputLine = reader.readLine()) != null) {
						sb.append(inputLine).append("\n");
					}
					reader.close();
					inputReader.close();
					input.close();
					urlConn.disconnect();
					if(sb !=null){
						tv.setText(sb.toString());
					}else{
						tv.setText("读取的内容:NULL");
					}
				} catch (IOException e) {
					e.printStackTrace();
				}
			}else{
				Log.i("TAG", "url is null");
			}
		}else if(id==3){
			String httpUrl = "http://192.168.0.132:8080/Android/httpreq.jsp";
			URL url = null;
			try {
				url = new URL(httpUrl);
			} catch (MalformedURLException e) {
				e.printStackTrace();
			}
			if (url != null) {
				try {
					HttpURLConnection urlConn = (HttpURLConnection) url
							.openConnection();// 打开连接,此处只是创建一个实力,并没有真正的连接
					urlConn.setDoInput(true);
					urlConn.setDoOutput(true);
					urlConn.setRequestMethod("POST");
					urlConn.setUseCaches(false);//post请求不能使用缓存.
					urlConn.setInstanceFollowRedirects(true);//是否自动重定向.
					urlConn.connect();// 连接
					OutputStream out = urlConn.getOutputStream();
					DataOutputStream data = new DataOutputStream(out);
					data.writeBytes("par="+URLEncoder.encode("hk", "GBK"));
					data.flush();
					data.close();
					out.close();
					InputStream input = urlConn.getInputStream();
					InputStreamReader inputReader = new InputStreamReader(input);
					BufferedReader reader = new BufferedReader(inputReader);
					String inputLine = null;
					StringBuffer sb = new StringBuffer();
					while ((inputLine = reader.readLine()) != null) {
						sb.append(inputLine).append("\n");
					}
					reader.close();
					inputReader.close();
					input.close();
					urlConn.disconnect();
					if(sb !=null){
						tv.setText(sb.toString());
					}else{
						tv.setText("读取的内容:NULL");
					}
				} catch (IOException e) {
					e.printStackTrace();
				}
			}else{
				Log.i("TAG", "url is null");
			}
		}else if(id==4){
			String httpUrl = "http://www.google.com.hk/intl/zh-CN/images/logo_cn.gif";
			URL url = null;
			try {
				url = new URL(httpUrl);
			} catch (MalformedURLException e) {
				e.printStackTrace();
			}
			if (url != null) {
				try {
					HttpURLConnection urlConn = (HttpURLConnection) url
							.openConnection();// 打开连接,此处只是创建一个实力,并没有真正的连接
					urlConn.connect();// 连接
					InputStream input = urlConn.getInputStream();
					mBitmap = BitmapFactory.decodeStream(input);
					if(mBitmap != null){
						iv.setImageBitmap(mBitmap);
					}
				} catch (IOException e) {
					e.printStackTrace();
				}
			}else{
				Log.i("TAG", "url is null");
			}
		}
	}
}


<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
	package="com.Aina.Android" android:versionCode="1"
	android:versionName="1.0">
	<application android:icon="@drawable/icon"
		android:label="@string/app_name">
		<activity android:name=".Test"
			android:label="@string/app_name">
			<intent-filter>
				<action android:name="android.intent.action.MAIN" />
				<category
					android:name="android.intent.category.LAUNCHER" />
			</intent-filter>
		</activity>
		<activity android:name=".ShowData"></activity>
	</application>
	<uses-permission android:name="android.permission.INTERNET" />

</manifest>



来自http://aina-hk55hk.iteye.com/blog/710951

用做学习参考。




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值