获取网络的工具类
来源:互联网 发布:万能端口检测工具 编辑:程序博客网 时间:2024/06/12 21:59
public class NetDataUtil {
public static void getData(Context context,final String path, final JsonStringCallaBack callaBack) { AsyncTask<Void, Void, String> asyncTask = new AsyncTask<Void, Void, String>() { @Override protected String doInBackground(Void... voids) { try { URL url = new URL(path); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setRequestMethod("GET"); connection.setReadTimeout(5000); connection.setConnectTimeout(5000); int responseCode = connection.getResponseCode(); if (responseCode == 200){ InputStream inputStream = connection.getInputStream(); String json = streamToString(inputStream,"utf-8"); return json; } } catch (Exception e) { e.printStackTrace(); } return null; } @Override protected void onPostExecute(String json) { //异步拿回这个json串,交给具体解析的那个类 callaBack.getJsonString(json); } }; asyncTask.execute(); }}private static String streamToString(InputStream inputStream, String charset) { try { InputStreamReader inputStreamReader = new InputStreamReader(inputStream,charset); BufferedReader bufferedReader = new BufferedReader(inputStreamReader); String s = null; StringBuilder builder = new StringBuilder(); while ((s = bufferedReader.readLine()) != null){ builder.append(s); } bufferedReader.close(); return builder.toString(); } catch (Exception e) { e.printStackTrace(); } return null;}
}
还要在写一个类 实现一个借口回调
public interface JsonStringCallaBack {
public void getJsonString(String json);
}
这个是你要用联网的那个类或者Fragment
NetDataUtil.getData(getActivity(), “http://gank.io/api/data/Android/10/1“, new JsonStringCallaBack() {
@Override
public void getJsonString(String json) {
//在这里解析
Gson gson = new Gson();
DataDataBean dataDataBean = gson.fromJson(json, DataDataBean.class); //先清除所有 list.clear(); //再添加 list.addAll(0,dataDataBean.getResults()); //设置适配器 setAdapter(); //停止刷新 xListView.stopRefresh(); //设置刷新时间 String format = new SimpleDateFormat("HH:mm").format(new Date(System.currentTimeMillis())); xListView.setRefreshTime(format); } });
阅读全文
0 0
- 获取网络的工具类
- Android 获取网络状态的工具类
- Android 获取网络状态的工具类
- 获取网络图片的工具类
- 加计时器的网络获取工具类
- 工具类 获取网络数据的方法
- NetDataUtil_获取网络数据的工具类
- 网络获取数据工具类
- 获取网络数据工具类
- 获取网络数据的工具类__NetDataUtil,带使用方法 与下面的网络判断一起用,
- 获取网络下载请求工具类
- 安卓获取网络状态工具类
- HttpURLConnection获取网络数据工具类
- 网络的工具类
- 安卓工具类之获取网络状态工具类
- 封装的工具类(网络获取Json,图片,下载图片,下载Mp3,下载视频)
- Java工具类之通过IP获取对应的位置信息及网络供应商
- 网络是现代人获取新知最方便的工具之一
- 缓冲运动(变速)
- Apache源码安装、基于域名虚拟机测试
- Android设计模式之单例模式
- Question about the study of Qt
- 使用Kotlin开发Android项目-Kibo(一)
- 获取网络的工具类
- Duplicate entry '0' for key 'PRIMARY'
- Android必学之数据适配器BaseAdapter
- 机器学习基石-01-the learning problem
- RadioGroup点击RadioButtion切换Fragment
- Hadoop性能调优
- Redis持久化和复制
- mtk中输出log
- IPSAN与FCSAN存储结构的区别