AsyncTask 工具类

157 阅读1分钟

public class httputisl {
private static final httputisl ourInstance = new httputisl();

public static httputisl getInstance() {
return ourInstance;
}

private httputisl() {
}

public void get(String s){
new load().execute(s);

}

private class load extends AsyncTask<String,Void,String>{


@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()==200){

return String2Steam(connection.getInputStream());


}

} catch (Exception e) {
e.printStackTrace();
}

return null;
}


@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
if (s==null){

netCallback.onERROr("网络错误");


}else{
netCallback.onSUCCESS(s);

}


}
}

private String String2Steam(InputStream inputStream) throws IOException {
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();

int len=-1;

byte[] bytes = new byte[1024];

while ((len=inputStream.read(bytes))!=-1){
outputStream.write(bytes,0,len);


}
return new String(outputStream.toByteArray());
}


private NetCallback netCallback;

public void setNetCallback(NetCallback netCallback) {
this.netCallback = netCallback;
}

public interface NetCallback{

void onSUCCESS(String s);

void onERROr(String ss);

};
}

---------------------
作者:币圈小韭菜
来源:CSDN
原文:blog.csdn.net/liu_qunfeng…
版权声明:本文为博主原创文章,转载请附上博文链接!