Android開發(fā)之HTTP訪問網(wǎng)絡(luò)
本文實(shí)例為大家詳細(xì)介紹了Android開發(fā)之HTTP訪問網(wǎng)絡(luò)的相關(guān)代碼,供大家參考,具體內(nèi)容如下

代碼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);
//直接獲取數(shù)據(jù)
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);
//直接獲取數(shù)據(jù)
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 {
// 打開連接,此處只是創(chuàng)建一個(gè)實(shí)例,并沒有真正的連接
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("讀取的內(nèi)容: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();// 打開連接,此處只是創(chuàng)建一個(gè)實(shí)力,并沒有真正的連接
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("讀取的內(nèi)容: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();// 打開連接,此處只是創(chuàng)建一個(gè)實(shí)例,并沒有真正的連接
urlConn.setDoInput(true);
urlConn.setDoOutput(true);
urlConn.setRequestMethod("POST");
urlConn.setUseCaches(false);//post請(qǐng)求不能使用緩存.
urlConn.setInstanceFollowRedirects(true);//是否自動(dòng)重定向.
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("讀取的內(nèi)容: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 {
// 打開連接,此處只是創(chuàng)建一個(gè)實(shí)例,并沒有真正的連接
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="直接獲取數(shù)據(jù)" 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.運(yùn)行結(jié)果
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Android基于Http協(xié)議實(shí)現(xiàn)文件上傳功能的方法
- Android使用http請(qǐng)求手機(jī)號(hào)碼歸屬地查詢代碼分享
- Android平臺(tái)下輕量級(jí)http網(wǎng)絡(luò)傳輸庫(kù)
- android之HttpPost&HttpGet使用方法介紹
- Android中發(fā)送Http請(qǐng)求(包括文件上傳、servlet接收)的實(shí)例代碼
- Android HttpClient GET或者POST請(qǐng)求基本使用方法
- AndroidHttpClient使用Cookie應(yīng)用分析
- Android使用OKHttp包處理HTTP相關(guān)操作的基本用法講解
相關(guān)文章
Android 8.0版本更新無法自動(dòng)安裝問題的解決方法
這篇文章主要為大家詳細(xì)介紹了Android 8.0版本更新無法自動(dòng)安裝問題的解決方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-06-06
Android實(shí)現(xiàn)多線程斷點(diǎn)下載的方法
這篇文章主要介紹了Android實(shí)現(xiàn)多線程斷點(diǎn)下載的方法,可實(shí)現(xiàn)開始、暫停下載及百分比進(jìn)度條等功能,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-05-05
深入剖析Android中Service和Thread區(qū)別
下面小編就為大家?guī)硪黄钊肫饰鯝ndroid中Service和Thread區(qū)別。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-09-09
Android實(shí)現(xiàn)TextView兩端對(duì)齊的方法
這篇文章主要介紹了Android實(shí)現(xiàn)TextView兩端對(duì)齊的方法,需要的朋友可以參考下2016-01-01
Android基礎(chǔ)控件RadioGroup使用方法詳解
這篇文章主要為大家詳細(xì)介紹了Android基礎(chǔ)控件RadioGroup的使用方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-11-11
詳解Android的MVVM框架 - 數(shù)據(jù)綁定
這篇文章主要介紹了詳解Android的MVVM框架 - 數(shù)據(jù)綁定,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-05-05
三種Android單擊事件onclick的實(shí)現(xiàn)方法
這篇文章主要為大家詳細(xì)介紹了三種Android單擊事件onclick的實(shí)現(xiàn)方法,感興趣的小伙伴們可以參考一下2016-05-05

