前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【译】开始使用,简单加载

【译】开始使用,简单加载

作者头像
小鄧子
发布2018-08-20 15:20:14
4970
发布2018-08-20 15:20:14
举报

为什么使用Picasso?

有经验的Android开发者可以跳过这段,而对于初学者来说:你一定会问,为什么要使用Picasso来替换目前已有的图像加载方案。

图像处理在Android中应当是非常谨慎的,因为它会把图片一个像素接一个像素的加载到内存中。平均来看,一个手机相机所拍出来的照片尺寸为2592 x1936像素(5百万像素),将被分配大约19M的内存(译者注:原文在这里计算稍有误差:<)。如果你使用一个经过良好测试的类库,如Picasso,那么在复杂的网络连接,缓存以及图片处理等操作上,将会节省很多时间,而且也不必为其感到头疼。

在这一系列中,我们将关注Picasso的一些特性。当你决定真的需要实现这些所有特性之前,最好先通读一下博客的汇总大纲。

或者了解一下其他图像加载类库,如Glide,ION等等

添加Picasso

希望截至目前为止,我们已经肯定你使用过一种类库来处理图像的加载。如果你愿意尝试Picasso,这篇指导简直不能更适合你了。

先说重要的,添加Picasso到你的依赖列表,当我写真片文章的时候,Picasso的最新版本是2.5.2

Gradle

与众多依赖规则一样,只需要在你的build.gradle文件中添加简单的一行。

代码语言:javascript
复制
compile 'com.squareup.picasso:picasso:2.5.2'

Maven

虽然我们已经把项目迁移到了Gradle,但是Picasso同样支持Maven项目。

代码语言:javascript
复制
<dependency>
      <groupId>com.squareup.picasso</groupId>
      <artifactId>picasso</artifactId>
      <version>2.5.2</version>
</dependency>

从一个URL地址加载图片

Picasso使用了流式接口的调用方式,Picasso类是核心实现类。至少需要三个参数才能实现一个完整的请求。

  • with(Context context) - Context对于很多Android API的调用都是必须的,同样Picasso也不例外。
  • load(String imageUrl) - 在这里,你应该添加将被加载图像的地址。大多情况下,一个字符串代表一个网络图片的URL。
  • into(ImageView targetImageView) - 这个目标ImageView就是图片最终要展示的地方。
代码语言:javascript
复制
  ImageView targetImageView = (ImageView) findViewById(R.id.imageView);
  String internetUrl = "http://i.imgur.com/DvpvklR.png";

  Picasso
      .with(context)
      .load(internetUrl)
      .into(targetImageView);

就是这样!如果你的URL地址可用,并且ImageView是可见的,很快就能看到图片了。如果要加载的图片不存在,Picasso将会返回错误的回调,关于这个,我们将稍后介绍。通过这三行代码示例,你可能已经相信Picasso是值得一试的,但这只是其众多特性的冰山一角。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2016.06.20 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 为什么使用Picasso?
  • 添加Picasso
    • Gradle
      • Maven
      • 从一个URL地址加载图片
      相关产品与服务
      图片处理
      图片处理(Image Processing,IP)是由腾讯云数据万象提供的丰富的图片处理服务,广泛应用于腾讯内部各产品。支持对腾讯云对象存储 COS 或第三方源的图片进行处理,提供基础处理能力(图片裁剪、转格式、缩放、打水印等)、图片瘦身能力(Guetzli 压缩、AVIF 转码压缩)、盲水印版权保护能力,同时支持先进的图像 AI 功能(图像增强、图像标签、图像评分、图像修复、商品抠图等),满足多种业务场景下的图片处理需求。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档