一:创建一个类继承AsyncTask<String,Integer,String>
public class MyTasks extends AsyncTask<String,Integer,String>{
//2.声明接口对象
private BackDatas backDatas;
//3.传递一个接口实现类
public MyTasks(BackDatas backDatas) {
this.backDatas = backDatas;
}
@Override
protected String doInBackground(String... strings) {
HttpClient httpClient=new DefaultHttpClient();
HttpGet httpGet=new HttpGet(strings[0]);
try {
HttpResponse response = httpClient.execute(httpGet);
if(response.getStatusLine().getStatusCode()==200){
HttpEntity entity = response.getEntity();
String s = EntityUtils.toString(entity);
return s;
}
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
//调用
backDatas.getjson(s);
}
//1.定义一个接口
public interface BackDatas{
//声明
void getjson(String jsonData);
}
}
二:调用
MyTasks myTasks=new MyTasks(new MyTasks.BackDatas() {
@Override
public void getjson(String jsonData) {
Gson gson=new Gson();
ResultDatas resultDatas = gson.fromJson(jsonData, ResultDatas.class);
newslist = resultDatas.getNewslist();
if(types==1){
shujudatas.clear();
}
shujudatas.addAll(newslist);
getadaper();
pst.onRefreshComplete();
//得到图片
getimages();
}
});
myTasks.execute(path);