android网络图片加载处理库Picasso和universalimageloader使用简单案例

一、Picasso

1、导入jar包到项目libs目录下。 (picasso-2.4.0.jar)

2、调用api。示例

        iv_img = (ImageView) this.findViewById(R.id.iv_img);

        Picasso.with(this)

                .load("https://www.baidu.com/img/bdlogo.png")

                .into(iv_img);

        Picasso.with(this)

                .load("https://www.baidu.com/img/bdlogo.png")

                .resize(50, 50).into(iv_img);

        Picasso.with(this)

                .load("https://www.baidu.com/img/bdlogo.png")

                .error(R.drawable.ic_launcher).into(iv_img);
    <ImageView

        android:id="@+id/iv_img"

        android:layout_width="fill_parent"

        android:layout_height="wrap_content" />

 

 

二、universalimageloader使用

1、导入jar包到项目libs目录下。 (universal-image-loader-1.9.3.jar)

2、创建自定义Application,并配置到androidMainfest.xml中。

    <application

        android:name="com.mytest.imageloaderdemo.MyApplication"

        android:allowBackup="true"

        android:icon="@drawable/ic_launcher"

        android:label="@string/app_name"

        android:theme="@style/AppTheme" >

        <activity

            android:name=".MainActivity"

            android:label="@string/app_name" >

            <intent-filter>

                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />

            </intent-filter>

        </activity>

    </application>
android网络图片加载处理库Picasso和universalimageloader使用简单案例
package com.mytest.imageloaderdemo;



import java.io.File;



import android.app.Application;

import android.graphics.Bitmap;

import android.os.Environment;



import com.nostra13.universalimageloader.cache.disc.impl.UnlimitedDiscCache;

import com.nostra13.universalimageloader.cache.disc.naming.Md5FileNameGenerator;

import com.nostra13.universalimageloader.cache.memory.impl.UsingFreqLimitedMemoryCache;

import com.nostra13.universalimageloader.core.DisplayImageOptions;

import com.nostra13.universalimageloader.core.ImageLoader;

import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;

import com.nostra13.universalimageloader.core.assist.ImageScaleType;

import com.nostra13.universalimageloader.core.assist.QueueProcessingType;

import com.nostra13.universalimageloader.core.display.FadeInBitmapDisplayer;

import com.nostra13.universalimageloader.core.display.RoundedBitmapDisplayer;

import com.nostra13.universalimageloader.core.download.BaseImageDownloader;





public class MyApplication extends Application {

    @Override

    public void onCreate() {

        // TODO Auto-generated method stub

        super.onCreate();

        ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(

                this)

                .memoryCacheExtraOptions(480, 800)

                // max width, max height,即保存的每个缓存文件的最大长宽

                .discCacheExtraOptions(480, 800, null)

                // Can slow ImageLoader, use it carefully (Better don't use

                // it)/设置缓存的详细信息,最好不要设置这个

                .threadPoolSize(3)

                // 线程池内加载的数量

                .threadPriority(Thread.NORM_PRIORITY - 2)

                .denyCacheImageMultipleSizesInMemory()

                .memoryCache(new UsingFreqLimitedMemoryCache(2 * 1024 * 1024))

                // You can pass your own memory cache

                // implementation/你可以通过自己的内存缓存实现

                .memoryCacheSize(2 * 1024 * 1024)

                .discCacheSize(50 * 1024 * 1024)

                .discCacheFileNameGenerator(new Md5FileNameGenerator())

                // 将保存的时候的URI名称用MD5 加密

                .tasksProcessingOrder(QueueProcessingType.LIFO)

                .discCacheFileCount(100)

                // 缓存的文件数量

                .discCache(

                        new UnlimitedDiscCache(new File(Environment

                                .getExternalStorageDirectory()

                                + "/myApp/imgCache")))

                // 自定义缓存路径

                .defaultDisplayImageOptions(getDisplayOptions())

                .imageDownloader(

                        new BaseImageDownloader(this, 5 * 1000, 30 * 1000))

                .writeDebugLogs() // Remove for release app

                .build();// 开始构建

        ImageLoader.getInstance().init(config);

    }



    private DisplayImageOptions getDisplayOptions() {

        DisplayImageOptions options;

        options = new DisplayImageOptions.Builder()

                .showImageOnLoading(R.drawable.ic_launcher) // 设置图片在下载期间显示的图片

                .showImageForEmptyUri(R.drawable.ic_launcher)// 设置图片Uri为空或是错误的时候显示的图片

                .showImageOnFail(R.drawable.ic_launcher) // 设置图片加载/解码过程中错误时候显示的图片

                .cacheInMemory(true)// 设置下载的图片是否缓存在内存中

                .cacheOnDisc(true)// 设置下载的图片是否缓存在SD卡中

                .considerExifParams(true) // 是否考虑JPEG图像EXIF参数(旋转,翻转)

                .imageScaleType(ImageScaleType.EXACTLY_STRETCHED)// 设置图片以如何的编码方式显示

                .bitmapConfig(Bitmap.Config.RGB_565)// 设置图片的解码类型//

                // .delayBeforeLoading(int delayInMillis)//int

                // delayInMillis为你设置的下载前的延迟时间

                // 设置图片加入缓存前,对bitmap进行设置

                // .preProcessor(BitmapProcessor preProcessor)

                .resetViewBeforeLoading(true)// 设置图片在下载前是否重置,复位

                .displayer(new RoundedBitmapDisplayer(20))// 是否设置为圆角,弧度为多少

                .displayer(new FadeInBitmapDisplayer(100))// 是否图片加载好后渐入的动画时间

                .build();// 构建完成

        return options;

    }

}
View Code

 

调用代码

android网络图片加载处理库Picasso和universalimageloader使用简单案例
import com.nostra13.universalimageloader.core.ImageLoader;

import com.nostra13.universalimageloader.core.assist.FailReason;

import com.nostra13.universalimageloader.core.listener.ImageLoadingListener;





    private ImageLoader loader;

    private ImageView iv_img;



    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

        loader = ImageLoader.getInstance();

        iv_img = (ImageView) this.findViewById(R.id.iv_img);

        String uri = "file:///" + "本地路径";

//        loader.displayImage(

//                "https://www.baidu.com/img/bdlogo.png",

//                iv_img);

        loader.displayImage(

                "https://www.baidu.com/img/bdlogo.png",

                iv_img, new ImageLoadingListener() {



                    @Override

                    public void onLoadingStarted(String arg0, View arg1) {

                        Log.i("info", "onLoadingStarted");

                    }



                    @Override

                    public void onLoadingFailed(String arg0, View arg1,

                            FailReason arg2) {

                        Log.i("info", "onLoadingFailed");

                    }



                    @Override

                    public void onLoadingComplete(String arg0, View arg1,

                            Bitmap arg2) {

                        Log.i("info", "onLoadingComplete");

                    }



                    @Override

                    public void onLoadingCancelled(String arg0, View arg1) {

                        Log.i("info", "onLoadingCancelled");

                    }

                });

    }
View Code

 

你可能感兴趣的:(android)