请求数据的封装类

来源:互联网 发布:如何分析财务报表数据 编辑:程序博客网 时间:2024/05/16 02:05
public class MyNetTask extends AsyncTask<String,Void,String> {    private IcallBack icallBack;    public MyNetTask(IcallBack icallBack){        this.icallBack=icallBack;    }    @Override    protected String doInBackground(String... strings) {        StringBuilder builder=new StringBuilder();        //1.根据url创建URL        try {            URL url=new URL(strings[0]);            //2.打开连接            HttpURLConnection conn =(HttpURLConnection) url.openConnection();            //3.设置            conn.setRequestMethod("GET");            conn.setConnectTimeout(5000);            conn.setReadTimeout(5000);            //4.判断结果码            if(conn.getResponseCode()==200){                //5.获取数据                InputStream inputStream = conn.getInputStream();                BufferedReader reader=new BufferedReader(new InputStreamReader(inputStream));                String str;                while ((str=reader.readLine())!=null){                    builder.append(str);                }            }        } catch (MalformedURLException e) {            e.printStackTrace();        } catch (IOException e) {            e.printStackTrace();        }        Log.d("zzz",builder.toString());        return builder.toString();    }    @Override    protected void onPostExecute(String s) {        super.onPostExecute(s);        //gson 显示        //4.调用接口中方法        icallBack.getJsonData(s);    }    public interface IcallBack{        void getJsonData(String jsonStr);    }

}

private void initPsv() {    psv.setMode(PullToRefreshBase.Mode.BOTH);    ILoadingLayout headerLayout = psv.getLoadingLayoutProxy(true, false);    headerLayout.setPullLabel("下拉刷新");    headerLayout.setReleaseLabel("放开刷新");    headerLayout.setRefreshingLabel("正在刷新。。。");    ILoadingLayout footerLayout = psv.getLoadingLayoutProxy(false, true);    footerLayout.setPullLabel("上拉加载");    footerLayout.setReleaseLabel("放开加载");    footerLayout.setRefreshingLabel("正在加载。。。。");    psv.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ScrollView>() {        @Override        public void onPullDownToRefresh(PullToRefreshBase<ScrollView> pullToRefreshBase) {            pageIndex=1;            url=urlPart+pageIndex;            MyNetTask task1=new MyNetTask(new MyNetTask.IcallBack() {                @Override                public void getJsonData(String jsonStr) {                    Gson gson=new Gson();                    Result1 result1 = gson.fromJson(jsonStr, Result1.class);                    datas.addAll(result1.getNewslist());                    setAdapter();                    psv.onRefreshComplete();                }            });            task1.execute(url);        }        @Override        public void onPullUpToRefresh(PullToRefreshBase<ScrollView> pullToRefreshBase) {            pageIndex++;            url=urlPart+pageIndex;            MyNetTask task1=new MyNetTask(new MyNetTask.IcallBack() {                @Override                public void getJsonData(String jsonStr) {                    Gson gson=new Gson();                    Result1 result1 = gson.fromJson(jsonStr, Result1.class);                    datas.addAll(result1.getNewslist());                    setAdapter();                    psv.onRefreshComplete();                }            });            task1.execute(url);        }});

原创粉丝点击