Picasso介绍

picasso是Square公司开源的一个Android图形缓存库 主要有以下一些特性: 在adapter中回收和取消当前的下载; 使用最少的内存完成复杂的图形转换操作; 自动的内存和硬盘缓存; 图形转换操作,如变换大小,旋转等,提供了接口来让用户可以自定义转换操作; 加载载网络或本地资源;
图像为Android应用程序添加了非常需要的上下文和视觉风格。 毕加索允许在您的应用程序无障碍图像加载 - 通常在一行代码!

Picasso.with(context).load("http://i.imgur.com/DvpvklR.png").into(imageView);

废话不多说·~相信很多小伙伴已经迫不及待想要看到效果了哈哈!别急,我还在等待一个女孩,哈哈,不会让您们失望!

废话不多说下面直接上代码要分为三步

下载picasso.jar点击直接下载http://square.github.io/picasso/
然后放在libs目录下如下图所示

然后add to path ok就可以了!
一.idea小伙伴这样添加一.通过gradle上导入 eg:picasso
在支持Android studio的gradle第三方类库中,github上或类库项目readme会有说明
compile ‘com.squareup.picasso:picasso:2.5.2’
如何将其添加到项目中呢?
1.打开app下面的build.gradle.
2.在dependencies{},里面添加上面一句话

dependencies {    compile fileTree(dir: 'libs', include: ['*.jar'])    testCompile 'junit:junit:4.12'    compile 'com.android.support:appcompat-v7:23.2.0'    compile 'com.squareup.picasso:picasso:2.5.2'}

3.然后点击Sync Now,如果没有出现错误,就可以在项目中使用了
二.通过jar包加入项目
eg.picasso
1.下载picasso的jar包到本地
2.将picasso-x.x.x.jar放到app目录下的libs文件夹下面
3.右击libs下的picasso-x.x.x.jar选择add as library,选择moddle-》app
4.加入成功后,app下面的build.gradle会将jar加入进来
eg.

dependencies {    compile fileTree(include: ['*.jar'], dir: 'libs')    testCompile 'junit:junit:4.12'    compile 'com.android.support:appcompat-v7:23.2.0'    compile files('libs/picasso-2.5.2.jar')}**三.导入第三方library**eg.Vitamo 1.点击application 2.选择File-》new-》Import Module 3.加入成功后,application下面的setting.gradle下面会出现 eg`include ':app', ':vitamio'`3.在app下面的build.gradle加入项目 eg.dependencies {    compile fileTree(include: ['*.jar'], dir: 'libs')    testCompile 'junit:junit:4.12'    compile 'com.android.support:appcompat-v7:23.2.0'    compile 'com.loopj.android:android-async-http:1.4.9'    compile project(':vitamio')}建PicassoActivity将上下文以及url加载进来,并在ImageView中显示> 然后创建activity_picasso布局> 监听事件代码> `private void initView() {        // 初始化UI组件        iv_picasso=(ImageView) findViewById(R.id.imageView1);        findViewById(R.id.btn_picasso).setOnClickListener(new OnClickListener() {            @Override            public void onClick(View v) {                /** 加载网络排图片                 * 第一个参数 上下文也可以是当前Activity                 * load(url)url是您要加载的图片缓存地址                 * into就是把当前图片放进你要显示控件ImageView中                 */                Picasso.with(PicassoActivity.this).load("http://img03.sogoucdn.com/app/a/100520093/508de2a2df69f20f-ad54974be9c2600f-01f80ad8e3e76b8fe0205b58d9e59649.jpg").into(iv_picasso);            }        });`布局文件activity_picasso<?xml version="1.0" encoding="utf-8"?>"http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent" >"@+id/imageView1"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:layout_alignParentLeft="true"        android:layout_alignParentTop="true"        android:layout_marginLeft="84dp"        android:layout_marginTop="68dp"        android:src="@drawable/ic_launcher" />    

@Override public void getView(int position, View convertView, ViewGroup parent) {
SquaredImageView view = (SquaredImageView) convertView;
if (view == null) {
view = new SquaredImageView(context);
}
String url = getItem(position);

Picasso.with(context).load(url).into(view);
}

IMAGE TRANSFORMATIONSTransform images to better fit into layouts and to reduce memory size.

Picasso.with(context)
.load(url)
.resize(50, 50)
.centerCrop()
.into(imageView)

> 还可以为更高级的效果指定自定义转换。

public class CropSquareTransformation implements Transformation {
@Override public Bitmap transform(Bitmap source) {
int size = Math.min(source.getWidth(), source.getHeight());
int x = (source.getWidth() - size) / 2;
int y = (source.getHeight() - size) / 2;
Bitmap result = Bitmap.createBitmap(source, x, y, size, size);
if (result != source) {
source.recycle();
}
return result;
}

@Override public String key() { return “square()”; }
}

> 将此类的实例传递给transform方法> `Picasso.with(context)    .load(url)    .placeholder(R.drawable.user_placeholder)    .error(R.drawable.user_placeholder_error)    .into(imageView);`> > 源,资产,文件,内容提供程序都作为映像源支持。

代码如下
Picasso.with(context).load(R.drawable.landing_screen).into(imageView1);
Picasso.with(context).load(“file:///android_asset/DvpvklR.png”).into(imageView2);
Picasso.with(context).load(new File(…)).into(imageView3);

MAVEN


com.squareup.picasso
picasso
(insert latest version)

GRADLE

compile ‘com.squareup.picasso:picasso:(insert latest version)’
“`
总结:

  1. 首先下载picasso.jar然后导入到工程中
    2.创建一个PicassoActivity然后将url加载进行并显示在ImageView空间中
    3.不要忘记添加网络权限千万注意:Android中UI线程不能有访问网络的操作,否则会报android.os.NetworkOnMainThreadException的异常如下


源码java.doc源码链接Picasso

扫码加群!

更多相关文章

  1. 关于Android(安卓)EditText图文混排的总结
  2. Android使用huffman编码进行图片压缩
  3. Android(安卓)studio启动后卡在refreshing gradle project(包解决
  4. Android(安卓)中 ListView 分页加载数据
  5. Android图片缓存分析(一)
  6. Android中图片的三级缓存策略
  7. Android小项目——社交类app(低仿微信)
  8. Android:调用系统图库/裁剪图片
  9. Android(安卓)WebView 输入框键盘不弹出

随机推荐

  1. Android 炫酷的多重水波纹 MultiWaveHead
  2. boot.img的解包与打包
  3. Android Studio学习之安装插件
  4. Android SharedPreferences详解
  5. android调节音量——AudioManager的应用
  6. 解决android sdk无法更新 更新慢的问题
  7. Android(安卓)2.2关闭所有Activity完全退
  8. Android ListView滑动过程中图片显示重复
  9. Android修改系统时间(应用程序获得系统权
  10. 英特尔® 硬件加速执行管理器安装指南 —