package Utils; import android.os.AsyncTask; import java.io.ByteArrayOutputStream; import java.io.InputStream; import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URL; import java.net.URLConnection; public class Mytask extends AsyncTask<String,Void,String> { private INxBean iNxBean; //传递接口对象 public Mytask(INxBean iNxBean) { this.iNxBean = iNxBean; } @Override protected String doInBackground(String... strings) { try { URL url=new URL(strings[0]); HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection(); urlConnection.setConnectTimeout(5000); urlConnection.setReadTimeout(5000); urlConnection.setRequestMethod("GET"); if (urlConnection.getResponseCode()==200){ InputStream inputStream = urlConnection.getInputStream(); ByteArrayOutputStream byteArrayOutputStream=new ByteArrayOutputStream(); byte[] arr = new byte[1024]; int len=0; while ((len=inputStream.read(arr))!=-1){ byteArrayOutputStream.write(arr,0,len); } return byteArrayOutputStream.toString(); } } catch (Exception e) { e.printStackTrace(); } return null; } @Override protected void onPostExecute(String s) { super.onPostExecute(s); iNxBean.getJson(s); } //定义接口 public interface INxBean{ void getJson(String jsonstr); } } //回到Activity的页面 回调接口
Mytask mytask = new Mytask(new Mytask.INxBean() { @Override public void getJson(String jsonstr) { //解析字符串 Gson gson = new Gson(); User_Bean user_bean = gson.fromJson(jsonstr, User_Bean.class); if (opertype==1){ data.clear(); } data.addAll(user_bean.getData()); setAdapter1(); plv.onRefreshComplete(); } }); mytask.execute(url);