美文网首页AndroidAndroid开发进阶技术分享
Volley+Gson+Picasso实现联网加载图片进行显示

Volley+Gson+Picasso实现联网加载图片进行显示

作者: 笑说余生 | 来源:发表于2016-09-29 21:38 被阅读551次

我的主页
Demo下载地址


介绍之前先来看一下,使用这三个框架实现的结果。

效果图

一、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); // 显示到哪个控件
    

这里只是介绍这三个控件最最简单的用法,如果你还想要了解更多的话可以百度或者上Github学习。


Github地址

Volley
Gson
Picasso


我的主页
Demo下载地址

以上纯属于个人平时工作和学习的一些总结分享,如果有什么错误欢迎随时指出,大家可以讨论一起进步。

相关文章

  • Volley+Gson+Picasso实现联网加载图片进行显示

    我的主页Demo下载地址 介绍之前先来看一下,使用这三个框架实现的结果。 一、Volley框架的简单使用 Voll...

  • 图片加载框架

    之前实现了一个选择本地图片进行加载显示的选择器,利用Glide作为图片加载器,Glide是一个十分方便的图片加载库...

  • 图片擦除

    图片擦除实现步骤 加载图片,并添加拖动手势;另外加载一张背景图片,用于图片被擦除后显示,置于擦除图片下方 开启位图...

  • 图片缓存问题

    在做相册浏览时,发现使用下边方法对图片进行操作 如果图片切换过快,在有加载loading显示加载进度的情况下,加载...

  • Swift 如何实现懒加载

    通过懒加载来实现从相册或拍照添加图片1、声明懒加载属性imagePickerController 2、显示相册和拍...

  • FlatList显示图片列表

    需求: 加载网络图片,列表形式展示,并缓存不显示的item不加载图片正在加载的图片,取消加载(不显示情况下) 参考...

  • Android大尺寸图片加载问题

    对于大尺寸图片加载,如何正常加载显示且不发生OOM? 图片采样,应用场景:图片全部显示在控件上 图片按区域加载,应...

  • Promise相关概念

    Promise 检测图片 检测图片是否加载成功,成功就正常显示,失败就展示默认图片 休眠的实现方法 基本用法 有一...

  • SDWebImage加载https图片失败

    SDWebImage 加载https图片失败,去掉 “s”,加载https图片正常显示

  • webview图片加载失败显示默认图片

    在Android项目中新闻显示需要使用图片的异步加载,并且在加载图片前和加载图片失败时显示默认图片。(1) 从相应...

网友评论

本文标题:Volley+Gson+Picasso实现联网加载图片进行显示

本文链接:https://www.haomeiwen.com/subject/uprlyttx.html