使用HttpURLconnection连接网络/////自己的笔记

来源:互联网 发布:php求职宝典 pdf 下载 编辑:程序博客网 时间:2024/05/21 13:59
import android.content.Context;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.widget.Toast;import java.io.ByteArrayOutputStream;import java.io.InputStream;import java.net.HttpURLConnection;import java.net.URL;/** * ////////////////////////////////////////////// *                      本类封装了URL连接网络的过程,四个方法 * 分别是: *                  ************************获取JSON串************************ *                  1.使用GET方法把输入流转换成JSON串并返回--------方法名:GETmethodToJson *                  2.使用POST方法把输入流转换成JSON串并返回--------方法名:POSTmethodToJson *                  ************************获取Bitmap对象************************ *                  3.使用GET方法把输入流转换成Bitmap对象并返回--------方法名:GETmethodToBitmap *                  4.使用POST方法把输入流转换成Bitmap对象并返回--------方法名:POSTmethodToBitmap * * *                  /////////////////////////////////////////////////////// *本类使用了静态修饰可以直接使用类名调用方法,只是封装了URL连接网络的方法, * 连接网络还有其他方法HttpClient类,AsyncTask异步任务,图片网络获取ImageLoader * ///////////////////////////////////////////// * * * * * */public class URLconnectionNetWork {    /**     * 请求网络使用的是GET方法---直接转换成json串     */    public  static  String  GETmethodToJson(String urlpath, Context context){        String streamToStringresult="";        try {            URL url = new URL(urlpath);            HttpURLConnection connection = (HttpURLConnection) url.openConnection();            connection.setRequestMethod("GET");            connection.setConnectTimeout(5000);            connection.setReadTimeout(5000);            if (connection.getResponseCode() == 200){                InputStream stream = connection.getInputStream();                streamToStringresult = Convert.getStreamToString(stream);                return streamToStringresult;            }else{                Toast.makeText(context,"连接失败-_-响应码:"+connection.getResponseCode(),Toast.LENGTH_LONG).show();            }        } catch (Exception e) {            e.printStackTrace();        }        return "";//**************************可能会报空指针异常    }    /**     * 请求网络使用的是POST方法---直接转换成json串     */    public  static  String  POSTmethodToJson(String urlpath, Context context){        String streamToStringresult="";        try {            URL url = new URL(urlpath);            HttpURLConnection connection = (HttpURLConnection) url.openConnection();            connection.setRequestMethod("POST");            connection.setConnectTimeout(5000);            connection.setReadTimeout(5000);            if (connection.getResponseCode() == 200){                InputStream stream = connection.getInputStream();                streamToStringresult = Convert.getStreamToString(stream);                return streamToStringresult;            }else{                Toast.makeText(context,"连接失败-_-响应码:"+connection.getResponseCode(),Toast.LENGTH_LONG).show();            }        } catch (Exception e) {            e.printStackTrace();        }        return "";//**************************可能会报空指针异常    }    /**     * 请求网络使用的是GET方法---直接转换成Bitmap对象     */    public  static  Bitmap  GETmethodToBitmap(String urlpath, Context context){        Bitmap bitmap ;        try {            URL url = new URL(urlpath);            HttpURLConnection connection = (HttpURLConnection) url.openConnection();            connection.setRequestMethod("GET");            connection.setConnectTimeout(5000);            connection.setReadTimeout(5000);            if (connection.getResponseCode() == 200){                InputStream stream = connection.getInputStream();                bitmap = BitmapFactory.decodeStream(stream);                return bitmap;            }else{                Toast.makeText(context,"连接失败-_-响应码:"+connection.getResponseCode(),Toast.LENGTH_LONG).show();            }        } catch (Exception e) {            e.printStackTrace();        }            return null;//**************************可能会报空指针异常    }    /**     * 请求网络使用的是POST方法---直接转换成Bitmap对象     */    public  static  Bitmap  POSTmethodToBitmap(String urlpath, Context context){        Bitmap bitmap=null;        try {            URL url = new URL(urlpath);            HttpURLConnection connection = (HttpURLConnection) url.openConnection();            connection.setRequestMethod("POST");            connection.setConnectTimeout(5000);            connection.setReadTimeout(5000);            if (connection.getResponseCode() == 200){                InputStream stream = connection.getInputStream();                 bitmap = BitmapFactory.decodeStream(stream);                return bitmap;            }else{                Toast.makeText(context,"连接失败-_-响应码:"+connection.getResponseCode(),Toast.LENGTH_LONG).show();            }        } catch (Exception e) {            e.printStackTrace();        }        return null;//**************************可能会报空指针异常    }    /**     * ****************************************内部静态工具类*********************************************     */    static class Convert{        /**         * 输入流转换字符串         */        public static String getStreamToString(InputStream stream){            ByteArrayOutputStream bos = new ByteArrayOutputStream();            try {                byte[] bytes = new byte[1024];                int len = 0;                while((len = stream.read(bytes)) != -1){                    bos.write(bytes,0,len);                }                bos.flush();                bos.close();                stream.close();            } catch (Exception e) {                e.printStackTrace();            }            return bos.toString();        }    }}