android Http通信之get方式

android中http通信分为两种,即get和post,一般默认是get,这里就以get方式去访问中央气象局的json格式的数据,好看代码:

package dxd.httpurlconnection.test;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;

import org.json.JSONException;
import org.json.JSONObject;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;

public class HttpURLConnection_TestActivity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        URL mURL = null;
		try {
			mURL = new URL("http://www.weather.com.cn/data/sk/101010100.html");
		} catch (MalformedURLException e) {
			e.printStackTrace();
		}
		JSONObject json = getHttpJson(mURL);
		if(json != null){
			Log.e("HttpURLConnection_TestActivity",json.toString());

			try {
				json = json.getJSONObject("weatherinfo");// 获取weahtherinfo节点的属性
			} catch (JSONException e1) {
				e1.printStackTrace();
			}
		
			try {
				Log.e("HttpURLConnection_TestActivity","isRadar = " + json.get("isRadar"));
				Log.e("HttpURLConnection_TestActivity","time = " + json.get("time"));
				Log.e("HttpURLConnection_TestActivity","WSE = " + json.get("WSE"));
				Log.e("HttpURLConnection_TestActivity","WS = " + json.get("WS"));
				Log.e("HttpURLConnection_TestActivity","WD = " + json.get("WD"));
				Log.e("HttpURLConnection_TestActivity","Radar = " + json.get("Radar"));
				Log.e("HttpURLConnection_TestActivity","temp = " + json.get("temp"));
				Log.e("HttpURLConnection_TestActivity","cityid = " + json.get("cityid"));
				Log.e("HttpURLConnection_TestActivity","city = " + json.get("city"));
			} catch (JSONException e) {
				e.printStackTrace();
			}
		}
    }
    
    /**
     * 传入一个网络访问地址,放回一个json格式的数据。前提是返回数据要满足json格式。
     * @param url
     * @return
     */
    public JSONObject getHttpJson(URL url){
    	InputStream in = null ;
    	HttpURLConnection httpConn = null ;
    	JSONObject json = null ;
    	BufferedReader br = null ;
		String str = "" ;
		String line = "" ;
    	try {
    		// 打开连接,返回一个http连接对象
			httpConn = (HttpURLConnection) url.openConnection();
			in = httpConn.getInputStream();
			br = new BufferedReader(new InputStreamReader(in,"utf-8"));
	    	while((line = br.readLine()) != null){
	    		str += line ;
	        }
		} catch (IOException e) {
			e.printStackTrace();
		}
    	try {
			json = new JSONObject(str);
		} catch (JSONException e) {
			e.printStackTrace();
		}
    	return json ;
    }
}


最后别忘了在配置文件中添加Internet访问权限<user-permisssion android:name="android:permission.INTERNET"/>



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值