Picasso的简单介绍和使用

来源:互联网 发布:发房源赚钱软件 编辑:程序博客网 时间:2024/06/05 13:27

写了之前的几篇Design下的UI框架,觉得是时候说说之前用过的图片框架。怎么说呢。由于现在公司做的都是蓝牙手环方面,网络请求图片方面的我都怕自己忘了,听说现在其他公司做手环是用了新的一种模式,就是把手环数据上传到网络,手机端再从网络下载所需要的数据显示。而我们公司却不是这样 0.0.。。。总之,好怀念以前写CallBack的日子。所以写了个简单的Picasso小例子自己熟悉一下。好了,牢骚发完了。

简单介绍下picasso:它是Square公司开源的图片缓存库,有没有发现挺多牛B的好像都是来自这公司,它的好处是使用方便,链式编程,简单来说就是一条龙解决。
这篇文章只是简单的实现用Picasso去加载一张网络图片。以为今天有点小累。

第一步还是得导入我们需要的包,在build.gradle文件中加入以下代码:

compile 'com.squareup.picasso:picasso:2.5.2'

然后看下代码的使用:

public class MainActivity extends AppCompatActivity {    private String imgUrl = "http://a.hiphotos.baidu.com/image/pic/item/fd039245d688d43f3f5ab1a37f1ed21b0ff43beb.jpg";    private ImageView imgView;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        imgView = ((ImageView) findViewById(R.id.img));        Picasso.with(this).load(imgUrl)                .memoryPolicy(MemoryPolicy.NO_CACHE)                .networkPolicy(NetworkPolicy.NO_CACHE)                .into(imgView);    }}
 Picasso.with(this).load(imgUrl)                .memoryPolicy(MemoryPolicy.NO_CACHE)                .networkPolicy(NetworkPolicy.NO_CACHE)                .into(imgView);
这段代码就是Picasso的使用,with()方法其实可以看出绑定当前上下文,这点跟glide的用法很像,其实我很多时候觉得它们用法好多相似的地方,只不过底层的实现则没有太多的去探究。
load(imgUrl)
这个的话参数可以是String,但据说效率低,反正我是试不出来。也可以是文件路径:load("file"+filepath),也可以是文件:load(File)

其中memoryPolicy的NO_CACHE是指图片加载时放弃在内存缓存中查找,NO_STORE是指图片加载完不缓存在内存中。而

<pre name="code" class="java">networkPolicy(NetworkPolicy.NO_CACHE)

 这个方法也是同理,只是内存变成了网络。into()表示把图片加载到那个控件。是不是很简单,当然,它的强大肯定不是我写的这么简单,还有比如

nofade()这个方法,用于图片加载时显示的特效,淡入淡出等,resize()用于设置图片的宽,高和精度。还有等等等。

好了,今天的例子就到这里,有点简短,请大家见谅,自己也是突然兴起凭着印象写出来,就不看效果图了。今天有点累。

共勉!


0 0