httputils解析接口+判断是否有网

2.httputils解析接口
public class HttpUtils {
    private static final HttpUtils ourInstance = new HttpUtils();
    public static HttpUtils getInstance() {
        return ourInstance;
    }
    private HttpUtils() {
    }
//封装的方法
public   void  getDataFrom(String  url,NetCall  newcall){
          new LoadData(newcall).execute(url);
}
//自定义一个类 获取网络接口
    class LoadData extends AsyncTask<String,Void,String>{
        private   NetCall  netCall;
         public LoadData(NetCall netCall) {
            this.netCall = netCall;
          }
    @Override
        protected String doInBackground(String... strings) {
            try {
                URL  url=new URL(strings[0]);
                HttpURLConnection  con= (HttpURLConnection) url.openConnection();
                con.setConnectTimeout(5000);
                con.setRequestMethod("GET");
                if (con.getResponseCode()==200){
                    return in2(con.getInputStream());
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
            return null;
        }

    @Override
    protected void onPostExecute(String s) {
        super.onPostExecute(s);
        if (!TextUtils.isEmpty(s)){
            netCall.onsuccess(s);
        }else {
            netCall.onError(s);
        }
    }

    private String in2(InputStream inputStream) throws IOException {
        ByteArrayOutputStream  bos=new ByteArrayOutputStream();
        int len=0;
        byte[] b = new byte[1024];
        while ((len = inputStream.read(b)) != -1) {
            bos.write(b, 0, len);
        }
        inputStream.close();
        bos.close();
        return new String(bos.toByteArray());
    }
}
//自定义接口
    public interface NetCall{
       void onsuccess(String  result);
       void onError(String erroremg);
    }
}







1.判断是否有网
public class NewsUtils  {
    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;
    }

}

猜你喜欢

转载自blog.csdn.net/qq_41880253/article/details/81270534
今日推荐