Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發實例 >> HttpURLConnection網絡通信開發實例

HttpURLConnection網絡通信開發實例

編輯:Android開發實例

  URLConnection是個抽象類,它有兩個直接子類分別是HttpURLConnection和JarURLConnection。來看安卓開發中HttpURLConnection網絡通信的開發實例代碼:

  Xml代碼

  <?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>

  Java代碼

  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代碼

  <?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>

  Java代碼

  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   

  */

  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.2: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.12: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.12: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://android.tgbus.com/Android/UploadFiles_4504/201204/2013215.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");

  }

  }

  }

  }

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