请求数据的封装类
来源:互联网 发布:如何分析财务报表数据 编辑:程序博客网 时间: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); }});
阅读全文
0 0
- 请求数据的封装类
- urlConnection 请求数据类的封装
- HttpClient请求数据的封装
- AsyncHttpClient的数据请求使用的封装
- struts1自动封装用户的请求数据
- 自己封装的afnetworking数据请求
- OkHttp网络请求数据的封装
- fetch下一代ajax请求数据的封装
- MVP模式+OKhttp的封装请求数据
- ios 网络请求数据封装类
- iOS 数据请求类AFNetworking 简单封装
- AFNetWorking封装请求数据
- Swift请求数据封装
- Volley请求的简单封装,以及applicaation/json数据请求
- 网络请求数据工具封装
- SpringMVC 请求数据封装转换
- AFNetworking数据请求(深度封装)
- 老赖 封装的一个 数据 请求函数 HTTPENGINE
- 文件上传、下载
- 【智能医疗】美国医疗领域人工智能应用行业报告:人工智能与医疗健康双向驱动
- JDK介绍
- QMessageBox--消息对话框
- 文章标题
- 请求数据的封装类
- HTML5 本地存储是一个window 属性,包括localStorage 和 sessionStorage,
- json类型的字符串取值
- 在一个宽字节注入习题的情况下得到的知识集合
- 通俗易懂CSS(一)-相对定位和绝对定位position和float
- 图像与滤波关系
- Elasticsearch、Kibana权限控制
- 存储过程和函数的区别
- java核心基础--jdk源码分析学习--LinkedList