1. 程式人生 > >Android使用HttpURLConnection獲取資料

Android使用HttpURLConnection獲取資料

Activity的程式碼
public class NetActivity extends Activity {
	private static final int MSG_UPDATE_TEXT = 1;
	private String mStrContent = null;
	MainHandler mMainHanlder = null;
	TextView mTv1 = null;
	Button mBtn1 = null;
	
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_net);
        mMainHanlder = new MainHandler();
        mTv1 = (TextView)findViewById(R.id.tv_1);
        //讓TextView支援Scroll操作
        mTv1.setMovementMethod(new ScrollingMovementMethod());
        mBtn1 = (Button)findViewById(R.id.btn_1);
        mBtn1.setOnClickListener(new Btn1Listener());
    }
    
    class MainHandler extends Handler{
    	@Override
    	public void handleMessage(Message msg) {
    		switch (msg.what) {
			case MSG_UPDATE_TEXT:
				if(mStrContent != null)
					mTv1.setText(mStrContent);
				break;

			default:
				break;
			}
    		super.handleMessage(msg);
    	}
    }
    
    class Btn1Listener implements View.OnClickListener{
		@Override
		public void onClick(View v) {
			new Thread(){
				public void run() {
					String httpUrl = "http://www.baidu.com";
					StringBuilder resultData = new StringBuilder("");
					URL url = null;
					try {
						url = new URL(httpUrl);
					} catch (MalformedURLException e) {
						// TODO Auto-generated catch block
						e.printStackTrace();
					}
					
					try {
						HttpURLConnection urlConn = (HttpURLConnection) url.openConnection();
						urlConn.setRequestMethod("GET");
						//inputStreamReader一個個位元組讀取轉為字元,可以一個個字元讀也可以讀到一個buffer
						//getInputStream是真正去連線網路獲取資料
						InputStreamReader isr = new InputStreamReader(urlConn.getInputStream());
						
						//使用緩衝一行行的讀入,加速InputStreamReader的速度
						BufferedReader buffer = new BufferedReader(isr);
						String inputLine = null;
						
						while((inputLine = buffer.readLine()) != null){
							resultData.append(inputLine);
							resultData.append("\n");
						}
						buffer.close();
						isr.close();
						urlConn.disconnect();
						mStrContent = resultData.toString();
						mMainHanlder.sendEmptyMessage(MSG_UPDATE_TEXT);
					} catch (IOException e) {
						// TODO Auto-generated catch block
						e.printStackTrace();
					}
				}
			}.start();
		}
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.activity_net, menu);
        return true;
    }
}

相關推薦

El表示式獲取資料

<h1>獲取常量</h1>   ${"奧運會"}${2008 } ${true}    <h1>獲取域中的變數</h1>   <%    String na

JS語句將後臺獲取資料在頁面展示方法原始碼

<!DOCTYPE html> <html>     <head>         <meta charset="utf-8" />   

資料倉庫入倉問題:mysql獲取資料存在"UTF8": 0x00問題的轉換

1、 invalid byte sequence for encoding “UTF8”: 0x00 要使用如下方案轉換欄位 replace(ifnull(first_name,null),char(‘0x00’),null) as first_name, 2、寫入到csv時,無法寫入完全的

fetch和axios獲取資料

fetch("/api/goods") .then(res => { return res.json(); }) .then(response => {

節假日api--java呼叫與獲取資料

獲取指定日期的節假日資訊 1、介面地址:http://api.goseek.cn/Tools/holiday?date=數字日期,支援https協議。 2、返回資料:工作日對應結果為 0, 休息日對應結果為 1, 節假日對應的結果為 2 3、節假日資料說明:本介面包含

asp.net獲取資料夾下的所有檔案

using System; using System.Collections.Generic; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.IO; public partial

ajax的get方法獲取資料,對資料物件賦值

ajax方法獲取資料 用vue寫一個方法將後臺資料渲染到table表格(iview表單) 首先,在div中插入table元件: <Table border height=226 :columns="columns1" :

從零開始學習 asp.net core 2.1 web api 後端api基礎框架(六)-把獲取資料的程式碼整理成一個服務

建立一個Services目錄, 然後建立一個 ProductService.cs類 我們把獲取資料的程式碼整理成一個ProductService, 然後保證程式執行的時候, 操作的是同一批資料: namespace CoreBackend.Api.Services { public

vue 的父元件和子元件互相獲取資料和方法

父元件主動獲取子元件的資料和方法 1.呼叫子元件的時候 定義一個ref <headerchild ref="headerChild"></headerchild> 2.在父元件裡面通過 this.$refs.headerChild.屬性 this.$refs.h

crawler碎碎念6 豆瓣爬取操作之獲取資料

import requests from lxml import etree   s = requests.Session() for id in range(0,251,25):   url ='https://movie.douban.com/top250/?start-'+str(i

c#後臺發post請求獲取資料

C#進階系列——WebApi 介面引數不再困惑:傳參詳解 閱讀目錄 一、get請求 1、基礎型別引數 2、實體作為引數 3、陣列作為引數 4、“怪異”的get請求 二、post請求 1、基礎型別引數

HBULIDER怎麼和後臺資料庫進行連結獲取資料

首先我是用myecilpse來和hubilder進行跨域相連的, 1、需要在myeclipse裡面搭建一個自己的過濾器,程式碼如下: //過濾器 public class crossDomainFilter implements Filter{     &nbs

教師結構化面試,一鍵獲取資料

教師結構化面試,一個程式設計師男朋友,為愛而碼 【需求】   1、教 結構化面試資料太少,而且最好列印   2、資料儲存word檔案,方便共享 作為一名程式設計師,開始coding... 把如下程式碼儲存為download.py,雙擊執行,結果如下:

Python爬蟲(二):爬蟲獲取資料儲存到檔案

接上一篇文章:Python爬蟲(一):編寫簡單爬蟲之新手入門 前言: 上一篇文章,我爬取到了豆瓣官網的頁面程式碼,我在想怎樣讓爬取到的頁面顯示出來呀,爬到的資料是html頁面程式碼,不如將爬取到的程式碼儲存到一個檔案中,檔案命名為html格式,那直接開啟這個檔案就可以在瀏覽器上看到爬取資料的

Vue--獲取資料

一、Jsonp抓取資料 用 npm 安裝 jsonp npm install jsonp 建立 jsonp.js import originJsonp from 'jsonp' export default function jsonp(url, data, option) {

表單中獲取資料及cookie的一些方法

一:從表單中獲取資料 public class Demo01 extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletE

呼叫第三方介面獲取資料寫入資料庫

系統框架:springboot(和框架沒有什麼太大關係,僅記錄一下) 呼叫路徑:controller→service 第三方介面:http://xx.xxx.com:9905/api/list?transtime=20181017105600&token=abcdefghijklmn

highcharts click事件獲取資料傳給datagrid ,動態載入資料

點選highcharts的柱子 會觸發click事件,並將資料傳給後臺獲取到相應部門下的所有員工資訊顯示在datagrid 如下:新增在charts的初始化裡 [java]  view plain  copy

mui.ajax 後臺無法獲取資料

看一下下面的程式碼是不是符合你的要求; 因為涉及到跨域請求,所以以下操作需要在h5+環境下,以及引用mui.min.js檔案。 注意事項:本地傳送資料的模式應該與伺服器接受的模式一致 本地採用get傳送資料,那麼php伺服器端應該用 $_GET[]來接收 本地採用post傳送資料,那麼php伺服

xutils get方式獲取資料

//得到home頁的新聞 public void getNewsData(){ RequestParams params =new RequestParams(Ipconfig.homeNewsUrl); //params.setSslSocketFactory(...); // 設