`

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>


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");
			}
		}
	}
}
分享到:
评论

相关推荐

    Android HttpUrlConnection json使用方法

    在Android开发中,HttpUrlConnection是用于网络通信的一种基础组件,尤其在处理JSON数据时,它扮演了重要的角色。本文将详细介绍如何使用HttpUrlConnection进行HTTP的POST和GET请求,并处理JSON响应。 首先,理解...

    Android-使用HttpURLConnection实现断点续传

    HttpURLConnection是Java标准库提供的一种网络连接接口,适用于Android系统,它提供了更高效、更灵活的网络通信方式。本文将详细介绍如何利用HttpURLConnection实现Android应用中的断点续传功能。 首先,理解断点续...

    android HttpURLConnection上传图片demo

    HttpURLConnection是Java标准库中的一个类,它允许Android应用程序与HTTP服务器进行通信,执行GET、POST等请求。下面我们将详细讨论如何利用HttpURLConnection上传图片。 首先,我们需要获取到用户选择或拍摄的图片...

    Android 简单使用 HttpURLConnection

    在Android开发中,网络通信是应用必不可少的一部分,`HttpURLConnection`是Java标准库提供的一种用于HTTP请求的API,它在Android SDK中也被广泛使用。本篇文章将深入探讨如何在Android中简单使用`HttpURLConnection`...

    Android系统应用开发 实验五 网络通信 实验报告

    在Android系统应用开发中,网络通信是至关重要的一个环节,特别是在构建交互性强的应用时。本实验旨在让学生深入了解Android网络通信技术,并通过实际操作掌握不同类型的网络通信方式,包括利用WebView实现浏览器...

    android+httpurlconnection

    在Android开发中,HTTPURLConnection是Java标准库提供的一种网络通信方式,用于与HTTP服务器进行交互。本项目聚焦于如何利用HTTPURLConnection实现从网络上下载图片并显示在Android Activity中。这个过程涉及到网络...

    Android网络请求框架基于HttpUrlConnection的封装

    HttpUrlConnection是Android系统提供的一个基础网络通信接口,相较于其他如Volley、OkHttp等第三方库,它更轻量级,适合对性能有较高要求或需要自定义网络操作的场景。 首先,我们来看HttpUrlConnection的基本用法...

    Android网络通信实例

    在Android开发中,网络通信是应用与服务器交互的重要方式,使得手机应用能够获取或发送数据。本实例将向你展示如何在Android环境中实现简单的HTTP GET和POST请求,这对于初学者来说是一个很好的学习起点。 首先,...

    Android使用HttpURLConnection访问网络

    在Android应用开发中,与服务器进行数据交互是常见的需求,HttpURLConnection是Android系统提供的一个标准API,用于实现HTTP协议通信。本篇文章将深入探讨如何在Android应用中利用HttpURLConnection访问网络,包括...

    java android httpURLConnection的封装

    其中,使用HTTP协议进行网络通信是一种常见且基础的需求。***包中提供了多种处理HTTP请求的类,其中HttpURLConnection是一个较为底层且灵活的网络连接工具。然而,原生的HttpURLConnection类使用起来比较繁琐,因此...

    Android网络连接2——HttpURLConnection

    总结,`HttpURLConnection`是Android进行网络通信的重要工具,通过它可以灵活地实现各种HTTP请求。理解其工作原理并熟练运用,将有助于我们编写出高效、可靠的网络代码。同时,结合源码阅读和工具类的封装,能进一步...

    Android网络通信相关的论文和文献

    在Android开发中,网络通信是不可或缺的一部分,它使得应用程序能够获取远程数据、实现用户交互以及同步更新信息。这篇集合了多篇关于Android网络通信的论文和文献,将为我们深入理解这一主题提供丰富的理论基础和...

    Android的三种网络通信方式

    在Android平台上,进行网络通信是应用程序与外界交互的重要方式之一。Android提供了三种主要的网络通信接口,它们分别是:java.net.*(标准Java接口)、Org.apache接口(通常指的是HttpClient)和Android.net.*...

    HttpURLConnection和简单的Android服务器交互

    在Android应用开发中,与服务器进行数据交互是常见的需求,HttpURLConnection是Android SDK提供的一种轻量级、低级别的网络通信接口。本主题将深入探讨如何使用HttpURLConnection进行Android与服务器的简单交互,...

    Android网络通信的6种实例代码

    在Android平台上进行网络通信是应用程序开发中的重要组成部分,因为大多数现代应用都需要与远程服务器进行交互,获取或发送数据。Android提供了多种方式来实现这一目标,包括基础的Java网络API、特定于Android的网络...

    Httpurlconnection请求网络数据,使用Android Studio.zip

    `HttpURLConnection`是Java标准库提供的一种网络通信方式,适用于Android Studio项目。相较于其他网络库如OkHttp或Volley,`HttpURLConnection`更轻量级,适合小规模或者简单的网络请求。本教程将深入探讨如何使用`...

    Android基础 网络通信

    在Android开发中,网络通信是应用与服务器交互的重要手段,为用户提供数据下载、上传、同步等功能。本教程将深入探讨Android基础网络通信的核心概念和技术,包括HTTP请求、HTTPS安全通信、Socket编程以及如何处理...

    HttpURLConnection调用.net WebService

    相比于常用的`HttpClient`,`HttpURLConnection`具有更好的性能和资源管理,是Android官方推荐的网络通信方式。通过`HttpURLConnection`,我们可以构建HTTP请求,设置请求头,发送数据,并接收服务器响应。 **二、...

    本示例使用HttpUrlConnection实现上传文件

    HttpURLConnection是Java标准库提供的一种轻量级的HTTP客户端接口,适用于简单的HTTP通信场景。 首先,我们来看一下上传文件的基本流程: 1. **创建连接**:使用`URL`对象构造一个`HttpURLConnection`实例,通常会...

    Android HttpURLConnection中 StrictMode同时支持3.0以上和3.0以下版本

    在Android开发中,`HttpURLConnection`是用于网络通信的一个重要组件,它提供了高效且低级别的HTTP请求接口。然而,从Android 3.0 (API Level 11)开始,引入了`StrictMode`来帮助开发者检测和防止在主线程中进行耗时...

Global site tag (gtag.js) - Google Analytics