网络请求工具类

package com.example.week02;

import android.content.Context;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.os.AsyncTask;

import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;

/**

  • @Auther: 苏青岩

  • @Date: 2019/1/2 16:24:17

  • @Description:
    */
    public class HttpUtils {
    ///创建接口
    public interface CallBackA {
    //写方法
    void getData(String s);
    }

    //封装异步
    public static void getAsyncTask(String url, final CallBackA backA) {

     new AsyncTask<String, Void, String>() {
         @Override
         protected String doInBackground(String... strings) {
             return httpGet(strings[0]);
         }
    
         @Override
         protected void onPostExecute(String s) {
             super.onPostExecute(s);
             backA.getData(s);
    
         }
     }.execute(url);
    

    }

    //====================================================================
    /*

    • 网络判断

    • */
      public static boolean isNetworkConnected(Context context) {

      if (context != null) {
      //获取连接管理器
      ConnectivityManager mConnectivityManager = (ConnectivityManager)
      context.getSystemService(Context.CONNECTIVITY_SERVICE);
      //获取网络状态
      NetworkInfo mNetworkInfo = mConnectivityManager.getActiveNetworkInfo();
      if (mNetworkInfo != null) {
      //判断网络是否可用
      return mNetworkInfo.isAvailable();
      }
      }
      return false;
      }

    /**

    • @param strUrl 网络接口
    • @return :请求的 String 类型的数据
    • @author: 苏青岩
    • @data: 2019/1/2 16:24
    • @Description: 请求网络数据的方法
      */
      public static String httpGet(String strUrl) {
      //设置url
      try {
      URL url = new URL(strUrl);
      //获取HttpURLConnection
      HttpURLConnection connection = (HttpURLConnection) url.openConnection();
      //设置为get请求
      connection.setRequestMethod(“GET”);
      //设置连接主机超时时间
      connection.setConnectTimeout(5000);
      //设置从主机读取数据超时
      connection.setReadTimeout(5000);
      //得到数据
      InputStream stream = connection.getInputStream();
      BufferedReader reader = new BufferedReader(new InputStreamReader(stream));
      //拼接数据
      StringBuilder builder = new StringBuilder();
      String str = “”;
      while ((str = reader.readLine()) != null) {
      builder.append(str);
      }
      //关闭连接
      connection.disconnect();
      //返回数据
      return builder.toString();
      } catch (Exception e) {
      e.printStackTrace();
      }
      return null;
      }

}

这里是引用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值