1.android的API提供了訪問(wèn)網(wǎng)絡(luò)的一個(gè)類HttpURLConnection
“只有客戶發(fā)展了,才有我們的生存與發(fā)展!”這是成都創(chuàng)新互聯(lián)的服務(wù)宗旨!把網(wǎng)站當(dāng)作互聯(lián)網(wǎng)產(chǎn)品,產(chǎn)品思維更注重全局思維、需求分析和迭代思維,在網(wǎng)站建設(shè)中就是為了建設(shè)一個(gè)不僅審美在線,而且實(shí)用性極高的網(wǎng)站。創(chuàng)新互聯(lián)對(duì)成都網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì)、外貿(mào)營(yíng)銷網(wǎng)站建設(shè)、網(wǎng)站制作、網(wǎng)站開發(fā)、網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站優(yōu)化、網(wǎng)絡(luò)推廣、探索永無(wú)止境。2.通過(guò)發(fā)送GET請(qǐng)求獲取服務(wù)器返回的html代碼
3.先看看布局文件,如下所示,
布局樣子:
4.下來(lái)是清單文件,記得連接網(wǎng)絡(luò)要添加權(quán)限
5.1再看java代碼,MainActivity的
package com.market.source;import android.app.Activity;import android.os.Bundle;import android.util.Log;import android.view.View;import android.widget.EditText;import android.widget.TextView;import java.io.IOException;import java.io.InputStream;import java.net.HttpURLConnection;import java.net.MalformedURLException;import java.net.ProtocolException;import java.net.URL;import java.net.URLConnection;import butterknife.BindView;import butterknife.ButterKnife;public class MainActivity extends Activity { @BindView(R.id.et) EditText et; @BindView(R.id.tv) TextView tv; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ButterKnife.bind(this); } public void get(View vew) throws IOException { final String str = et.getText().toString().trim(); new Thread(){ @Override public void run() { //1.請(qǐng)求地址url URL url = null; try { url = new URL(str); //2.獲取對(duì)這個(gè)地址的連接 HttpURLConnection con = (HttpURLConnection) url.openConnection(); //3.設(shè)置對(duì)這個(gè)地址的請(qǐng)求,GET請(qǐng)求 con.setRequestMethod("GET"); //4.設(shè)置請(qǐng)求參數(shù) con.setConnectTimeout(5000); //5.獲取服務(wù)器的響應(yīng) int code = con.getResponseCode(); //6.根據(jù)響應(yīng)嗎,判斷請(qǐng)求成功還是失敗,200成功 if(code==200){ //7.成功的話,服務(wù)器一流的形式返回?cái)?shù)據(jù) InputStream inputStream = con.getInputStream(); //8.這個(gè)流是字節(jié)流,需要我們轉(zhuǎn)換為字符流才可以認(rèn)識(shí) final String info = StreamTool.StreamtoString(inputStream); Log.e("MainActivity",info); runOnUiThread(new Runnable() { @Override public void run() { tv.setText(info); } }); } } catch (MalformedURLException e) { e.printStackTrace(); } catch (ProtocolException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }.start(); } }
5.2工具類,用來(lái)將一個(gè)流轉(zhuǎn)化為字符串
public class StreamTool { public static String StreamtoString(InputStream inputStream) { int len = -1; byte[] buffer = new byte[1024]; //內(nèi)存數(shù)組輸出流 ByteArrayOutputStream baos = new ByteArrayOutputStream(); try { while((len=inputStream.read(buffer)) != -1){ baos.write(buffer,0,len); } String str = new String(baos.toByteArray()); return str; } catch (IOException e) { e.printStackTrace(); }finally { try { inputStream.close(); } catch (IOException e) { e.printStackTrace(); } } return null; } }
6.運(yùn)行效果查看
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。