Picasso入门教程(二)

原创 2016年06月02日 11:35:17

高级加载

本篇文章介绍一下Picasso其他加载图片的方式。


从Resources加载图片

Picasso可以从本地资源加载图片,除了可以给一个String类型的Url参数之外,你可以给一个int类型的参数。

int resourceId = R.mipmap.ic_launcher;

Picasso
    .with(context)
    .load(resourceId)
    .into(imageViewResource);

从File加载图片

当你想让用户从本地相册选择一张图片的时候,那么下面这个方法将会非常有用。这时,只要把参数换成File对象就可以了,下面是例子:

File file = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES), "Running.jpg");

Picasso
    .with(context)
    .load(file)
    .into(imageViewFile);

从Uri中加载图片

当然,你也可以从Uri中加载图片,

Uri uri = resourceIdToUri(context, R.mipmap.future_studio_launcher);

Picasso  
    .with(context)
    .load(uri)
    .into(imageViewUri);

要想获得一个Uri,你可以参照下面代码:


public static final String ANDROID_RESOURCE = "android.resource://";
public static final String FOREWARD_SLASH = "/";

private static Uri resourceIdToUri(Context context, int resourceId) {
    return Uri.parse(ANDROID_RESOURCE + context.getPackageName() + FOREWARD_SLASH + resourceId);
}

当然,你不用特意将resourceId转换成Uri,只是资源恰好是Uri的时候,直接使用Uri类型的参加加载图片即可。

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Picasso入门教程(三)

使用Listview实现一个简单的画廊首先我们需要一些测试的图片,我们在服务器上上传了一些比较好的图片供我们测试。public static String[] eatFoodyImages = { ...

Picasso入门教程(十)图片旋转和变换

如果你阅读了之前的博客,你就会知道如何使用Picasso加载图片和处理图片。到目前为止,我们的图片还是untouched状态(我们希望resize 和 scale图片,这样可以让图片更合适一些)这篇博...

Picasso入门教程(七) 根据图片的优先级按顺序请求

优先级:高优先级、中优先级、低优先级你可能正在想一个符合这个的情景,但是如果你想需要按照优先级来加载图片,你可以使用priority() 这个方法。这需要使用三个常量:HIGH ,MEDIUM ,LO...

Picasso入门教程(四) 如何处理空值(在ListView中)

这篇博客主要面向两类读者:1、遇到了IllegalArgumentException: Path must not be empty 这个报错信息。2、想要确定当在listview中加载不完整的ima...

Picasso入门教程(十二)Cache Indicators,Logging & Stats

Picasso的内存缓存机制特别棒,尤其是当你需要处理大量的图片的时候。这篇博客中,我们将介绍一下如何检验自己的定制是成功的。Cache Indicators如果你没有跳过之前的博客,你应该知道Pic...

Picasso入门教程(十一)Influencing Image Cache(影响图片缓存)

我们之前已经讲过,Picasso使用硬盘和内存中缓存的图片,这样加载起来会更快一些。在这篇博客中,我们深入了解一下Picasso的缓存策略。标准行为下面是Picasso的官方文档: This in...

Picasso入门教程(九)回调,remoteViews,通知

关于Picasso的知识你已经学习了很多了。尽管如此,直到现在你也是只做了往ImageView中加载图片。你可能需要加载一张图片,但是这张图片不需要从ImageView中显示出来,或者你想学习关于ca...

Picasso入门教程(八)通过Tag()来管理图片

通过学习了如果加载图片,改变图片的大小,缩放图片以及从各方面如何影响图片的管理,我们再学一下一个更高级的也是最优的方法:tagging.Picasso提供了组织图片请求的方法来管理图片。Picasso...

C语言入门教程 (二) 变量和常量

编译环境设置好以后,就可以正式学习C语言了。 一、变量 (一)、变量类型和表示方法 1.什么是变量?一句话,变量是存储数据的值的空间。由于数值的类型有多种,有整数、小数(浮点数)、字符等等,那么...

SQLite 入门教程(二)创建、修改、删除表

一、数据库定义语言 DDL 在关系型数据库中,数据库中的表 Table、视图 View、索引 Index、关系 Relationship 和触发器 Trigger 等等,构成了数据库的架构 Sc...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)