Android万能GetリクエストJsonメソッド

2667 ワード

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 + "
"; } 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; } }