Volley+Gson+Picasso实现联网加载图片进行显示
2016-09-29 本文已影响551人
笑说余生
介绍之前先来看一下,使用这三个框架实现的结果。
效果图一、Volley框架的简单使用
Volley是谷歌在2013年Google I/O大会上推出的一个新的网络通信框架。具体的关于Volley的知识百度一大堆,这里就不介绍了。
使用Volley连接网络
-
创建请求队列
// 请求队列 RequestQueue queue = Volley.newRequestQueue(this);
-
创建请求
// url使用的是天狗的美图 String url = "http://apis.baidu.com/tngou/gallery/classify"; // 字符串请求,请求的是字符串 StringRequest request = new StringRequest(url, new Response.Listener<String>() { @Override public void onResponse(String response) { // 请求正常时调用 // Log.d("MainActivity", response); // 使用gson框架解析 Gson gson = new Gson(); // 将字符串封装到bean中 mBean = gson.fromJson(response, CategoryBean.class); // 设置适配器 mListView.setAdapter(new CategoryAdapter(MainActivity.this, mBean.getTngou())); } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { // 请求发生错误时调用 error.printStackTrace(); } }) { // 重写请求头方法 @Override public Map<String, String> getHeaders() throws AuthFailureError { // 将请求参数返回 Map<String, String> map = new HashMap<>(); map.put("apikey", "75e0aecf9a0d887adf328cb770f3a8ea"); return map; } };
-
使用请求队列添加请求
// 添加队列 queue.add(request);
二、Gson框架的简单使用
-
Gson是谷歌官方提供的用来解析Json的框架,可以将Json字符串解析成Bean或者List集合等。
-
创建Gson对象
// 使用gson框架解析 Gson gson = new Gson();
-
解析字符串
// 将字符串封装到bean中 CategoryBean bean = gson.fromJson(response, CategoryBean.class);
三、Picasso框架的简单使用
-
使用Picasso只需要一行代码,它的内部已经做了三级缓存处理
// 使用picasso框架显示图片 Picasso.with(mContext).load(imgUrl) // 图片的url路径 .placeholder(R.drawable.ic_default) // 默认显示图片,占位图 .error(R.drawable.ic_error) // 加载错误显示的图片 .into(ivImage); // 显示到哪个控件