网络请求工具类HttpUtil

来源:互联网 发布:软件开发工程师 编辑:程序博客网 时间:2024/06/05 22:59
import android.content.Context;import android.os.AsyncTask;import java.io.BufferedReader;import java.io.InputStream;import java.io.InputStreamReader;import java.net.HttpURLConnection;import java.net.URL;import myapplication.myapplication.jiekou.HttpCallBack;/** * Created by Administrator on 2017/10/18. */public class HttpUtil {    public static void requestDataByHttp(final String path, Context context, final HttpCallBack callBack){        new AsyncTask<Void, Void, String>(){            @Override            protected String doInBackground(Void... voids) {                try {                    URL url = new URL(path);                    HttpURLConnection connection = (HttpURLConnection) url.openConnection();                    connection.setRequestMethod("GET");                    connection.setConnectTimeout(5000);                    connection.setReadTimeout(5000);                    int responseCode = connection.getResponseCode();                    if(responseCode == 200){                        InputStream inputStream = connection.getInputStream();                        String s = streamToString(inputStream, "utf-8");                        return s;                    }                } catch (Exception e) {                    e.printStackTrace();                }                return null;            }            @Override            protected void onPostExecute(String s) {                super.onPostExecute(s);                callBack.onRequestComplete(s);            }        }.execute();    }    private static String streamToString(InputStream inputStream,String charset) {        try {            InputStreamReader inputStreamReader = new InputStreamReader(inputStream,charset);            BufferedReader bufferedReader = new BufferedReader(inputStreamReader);            String s = null;            StringBuilder builder = new StringBuilder();            while ((s = bufferedReader.readLine()) != null){                builder.append(s);            }            bufferedReader.close();            return builder.toString();        } catch (Exception e) {            e.printStackTrace();        }        return  null;    }}
接口:
/** * Created by Administrator on 2017/10/18. */public interface HttpCallBack {    void onRequestComplete(String json);}

原创粉丝点击