public class MyTask extends AsyncTask<String,Void,String> {
private Icallback icallback;
public MyTask(Icallback icallback) {
this.icallback = icallback;
}
@Override
protected String doInBackground(String... strings) {
StringBuilder builder=new StringBuilder();
try {
URL url=new URL(strings[0]);
HttpURLConnection connection = (HttpURLConnection)url.openConnection();
connection.setRequestMethod("GET");
connection.setReadTimeout(5000);
connection.setConnectTimeout(5000);
if(connection.getResponseCode()==200){
InputStream inputStream = connection.getInputStream();
BufferedReader reader=new BufferedReader(new InputStreamReader(inputStream));
String str;
while ((str=reader.readLine())!=null){
builder.append(str);
}
return builder.toString();
}
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
icallback.getJsonData(s);
}
//定义一个接口
public interface Icallback{
void getJsonData(String json);
}
}