Android開發之HTTP訪問網路_Android

來源:互聯網
上載者:User

本文執行個體為大家詳細介紹了Android開發之HTTP訪問網路的相關代碼,供大家參考,具體內容如下

代碼1:

package com.ywhttpurlconnection;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.view.View;import android.widget.Button;public class YwhttpurlconnectionActivity 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);   //GET方式傳遞  btn2 = (Button) this.findViewById(R.id.Button02);   //POST方式傳遞  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(YwhttpurlconnectionActivity.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(YwhttpurlconnectionActivity.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(YwhttpurlconnectionActivity.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(YwhttpurlconnectionActivity.this, showdata.class);     Bundle b = new Bundle();     b.putInt("id", 4);     intent.putExtras(b);     startActivity(intent);    }       });  } }

代碼2:

package com.ywhttpurlconnection;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;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";    String httpUrl = "http://www.jb-aptech.com.cn";   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){    //GET方式傳遞//   String httpUrl = "http://192.168.0.132:8080/Android/httpreq.jsp?par=hk";    String httpUrl = "http://liveat.acewill.cn/liveat/?cmd=1&uid=xiaoming";    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){    //POST方式傳遞//   String httpUrl = "http://192.168.0.132:8080/Android/httpreq.jsp";    String httpUrl = "http://www.jb-aptech.com.cn";    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");    }   }  } } 

代碼3:

<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.ywhttpurlconnection" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="10" /> <uses-permission android:name="android.permission.INTERNET"/> <application  android:icon="@drawable/ic_launcher"  android:label="@string/app_name" >  <activity   android:label="@string/app_name"   android:name=".YwhttpurlconnectionActivity" >   <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></manifest>

代碼4:http.xml

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

代碼5.mail.xml

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <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>

6.運行結果  

 

 

以上就是本文的全部內容,希望對大家的學習有所協助,也希望大家多多支援雲棲社區。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.