HttpUtil请求数据和异步封装

本文介绍了一种检查设备网络连接状态的方法,并提供了一个HTTP GET请求的数据获取函数,使用了异步任务来处理网络请求,确保应用程序在网络可用时能够高效地获取数据。

//判断网路
public static boolean InNetWork(Context context){

if (context!=null){
    ConnectivityManager manager=(ConnectivityManager)context.getSystemService(context.CONNECTIVITY_SERVICE);
    NetworkInfo info = manager.getActiveNetworkInfo();
    if (info!=null){
        return info.isAvailable();
    }
}
return false;

}

//请求数据
public static String httpGet(String strUrl){

//字符串转换为URL
try {
    URL url=new URL(strUrl);
    HttpURLConnection connection=(HttpURLConnection) url.openConnection();
    //设置超时时间
    connection.setConnectTimeout(5000);
    //设置读取超时时间
    connection.setReadTimeout(5000);
    //设置请求方式
    connection.setRequestMethod("GET");
    //判断请求码
    if (connection.getResponseCode()==200){
        InputStream inputStream = connection.getInputStream();
        InputStreamReader streamReader=new InputStreamReader(inputStream);
        BufferedReader reader=new BufferedReader(streamReader);
        StringBuffer buffer=new StringBuffer();
        String s="";
        while ((s=reader.readLine())!=null){
            buffer.append(s);
        }

        return buffer.toString();
    }
} catch (Exception e) {
    e.printStackTrace();
}

return null;

}

//创建接口
public interface CallBack{
void getData(String s);
}

//封装异步接口
public static void MyAsyncTask(String url, final CallBack callBack){

new AsyncTask<String,Void,String>(){
    @Override
    protected void onPostExecute(String s) {
        super.onPostExecute(s);
        callBack.getData(s);
    }

    @Override
    protected String doInBackground(String... strings) {
        return httpGet(strings[0]);
    }
}.execute(url);

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值