一 首先在同包内创建一接口 NetCallback
public interface NetCallback {
void onSuccess(String result);
void onError(String errorMsg);
}
二 创建类 Utils
public class NetUtils { private static final NetUtils ourInstance = new NetUtils(); public static NetUtils getInstance() { return ourInstance; } private NetUtils() { } //获取网络地址 public void getDataFromService(String url,NetCallback callback){ new LoadDataTask(callback).execute(url); } private class LoadDataTask extends AsyncTask<String,Void,String> { private NetCallback netCallback; public LoadDataTask(NetCallback netCallback) { this.netCallback = netCallback; } @Override protected String doInBackground(String... strings) { try { URL url = new URL(strings[0]); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setReadTimeout(5000); connection.setConnectTimeout(5000); if (connection.getResponseCode() == HttpURLConnection.HTTP_OK){ return CharStreams.toString(new InputStreamReader(connection.getInputStream(),"UTF-8")); } } catch (Exception e) { e.printStackTrace(); } return null; } @Override protected void onPostExecute(String s) { if (netCallback != null){ if (!TextUtils.isEmpty(s)){ netCallback.onSuccess(s); }else { netCallback.onError("没有请求到数据"); } } } } }