Android 万能Get请求Json方法

package com.example.h3c.net;

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

import android.util.Log;

import com.example.pickride.util.ConstantsTable;

public class HttpConnection {
    private final int TIMEOUT = 3000;// 设定超时时间

    /**
     * 请求服务器响应
     * 
     * @param requestType
     *            请求类型 requestContent [类型,参数,类型,参数]
     */
    public String requestService(String requestType, String... requestContent) {
        String resultData = "";
        InputStreamReader in = null;
        HttpURLConnection urlConn = null;
        BufferedReader buffer = null;
        try {
            StringBuffer sBuffer = new StringBuffer();
            for (int n = 0; n < requestContent.length; n++) {
                if ((n + 1) % 2 == 0) {
                    sBuffer.append("=" + requestContent[n] + "&");
                } else {
                    sBuffer.append(requestContent[n]);
                }
            }
            URL url = new URL(ConstantsTable.URI + requestType + "?" + sBuffer);

            if (url != null) {
                urlConn = (HttpURLConnection) url.openConnection();
                urlConn.setConnectTimeout(TIMEOUT);// 设置超时时间

                try {
                    in = new InputStreamReader(urlConn.getInputStream());
                } catch (ConnectException e) {
                    Log.e(ConstantsTable.LOG_TAG, "服务器宕机了...");
                    return resultData;
                }
                buffer = new BufferedReader(in);
                String inputLine = null;

                while ((inputLine = buffer.readLine()) != null) {
                    resultData += inputLine + "\n";
                }
                urlConn.disconnect();
                if (ConstantsTable.DEBUG_FLAG) {
                    Log.d(ConstantsTable.LOG_TAG, resultData);
                }
            }
        } catch (MalformedURLException e) {
            Log.e(ConstantsTable.LOG_TAG, "域名无法解析");
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            try {
                if (in != null) {
                    in.close();
                }
                if (buffer != null) {
                    buffer.close();
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        return resultData;
    }
}


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值