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; } }