使用okhttp
网络框架进行get
请求,得到json
数据html
//一个封装好的工具类的静态方法 public static void sendOkHttpRequest(final String address, final okhttp3.Callback callback) { OkHttpClient client = new OkHttpClient(); CacheControl control =new CacheControl.Builder().build(); Request request = new Request.Builder() .cacheControl(control) .url(address) .build(); client.newCall(request).enqueue(callback); }
以后咱们调用这个方法能够访问网站,并得到返回的数据json
HttpUtil.sendOkHttpRequest("http://www.baidu.com" + limit, new Callback() { @Override public void onFailure(Call call, IOException e) { Toast.makeText(MainActivity.this, "网络错误", Toast.LENGTH_SHORT).show(); } @Override public void onResponse(Call call, Response response) throws IOException { //得到返回的数据(按照个人例子,访问百度,返回来的数据其实就是html文件里面的内容 //若是是其余网站,就是返回其定义返回的数据类型) String result = response.body().string(); //调用GSON框架解析json数据,处理完毕后返回一个该相关类的List List<Data.ResBean> mlist = HttpUtil.parseJSONWithGSON(result); //以后对返回的数据进行处理或者是调用 mlist.get(1).getXXX();//相关属性的调用 } });
使用GSONFormat
插件将json
数据抽象为实体类(插件自动生成)网络
去Android Studio里面搜索GSONFormat插件,安装重启以后,写一个类,而后直接按下alt+Ins
,选择GSONFormat,以后输入json数据,就能够得到一个对应的实体类了框架
使用GSON
框架,解析json数据,得到实体类ide
下面的方法能够根据本身的须要写工具
/** * 调用GSON解析json数据 * @param jsonData json数据 * @return 返回图片实体类list */ public static List<Data.ResBean> parseJSONWithGSON(String jsonData) { //使用轻量级的Gson解析获得的json Gson gson = new Gson(); Data data = gson.fromJson(jsonData, Data.class); List<Data.ResBean> mlist = data.getRes(); return mlist; }
调用所须要的属性便可网站
对象调用get方法便可得到相关的属性,本身须要什么就调用什么,这里就很少说了。ui
使用Glide
等图片框架加载网络图片this
Glide.with(context).load(url).into(imageView);
我使用的是另一款Ion显示图片框架,由于以前使用Glide有些bug,第一次能够加载,但刷新数据以后就没法显示了,多是由于我使用的Glide3.0版本吧,而后以为Glide4.0版本使用有些懵,就选择了Ion,感受和Glide差很少,以前的那个bug也是得以解决,就没有想太多了url
Ion.with(holder.imageView.getContext()) .load(url) .withBitmap() .placeholder(R.drawable.grey) .intoImageView(holder.imageView);