常用的接口回调
图片延时原理
1.什么是接口回调?
接口回调是指:可以把使用某一接口的类创建的对象的引用赋给该接口声明的接口变量,那么该接口变量就可以调用被类实现的接口的方法。
public class HttpUrl {
//接口回调
private HttpURlListener httpUrlListener;
public interface HttpURlListener{
void success(String data);
}
public void setHttpUrlListener(HttpURlListener httpUrlListener){
this.httpUrlListener = httpUrlListener;
}
public HttpUrl getHttpUrl(String urlpath){
new MyTask(){
}.execute(urlpath);
return this;
}
class MyTask extends AsyncTask<String,Void,String>{
private String read;
@Override
protected String doInBackground(String... strings) {
try {
URL url = new URL(strings[0]);
//开启链接
HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
//设置请求方式
urlConnection.setRequestMethod("GET");
//设置读取和链接超时
urlConnection.setConnectTimeout(5000);
urlConnection.setReadTimeout(5000);
//获取状态码
int responseCode = urlConnection.getResponseCode();
if(responseCode == 200){
InputStream inputStream = urlConnection.getInputStream();
String read = CharStreams.toString(new InputStreamReader(inputStream, "UTF-8"));
}
return read;
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(String s) {
if(s != null){
httpUrlListener.success(s);
}
}
}
}