首页 > 系统 > Android > 正文

Android开发之HTTP访问网络

2019-12-12 06:06:59
字体:
来源:转载
供稿:网友

本文实例为大家详细介绍了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.运行结果  

 

 

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持武林网。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表