添加的依赖:
implementation 'com.nostra13.universalimageloader:universal-image-loader:1.9.5'
------------------- MainActivity --------------------
package com.example.image;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.support.v7.app.AppCompatActivity;
import android.widget.ImageView;
import com.nostra13.universalimageloader.core.ImageLoader;
import java.util.ArrayList;
import java.util.List;
public class MainActivity extends AppCompatActivity {
private List<String> imgs;
int time=3;
private ImageView image;
Handler handler=new Handler(){
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
ImageLoader.getInstance().displayImage(imgs.get(time%imgs.size()),image);
time++;
sendEmptyMessageDelayed(1,3000);
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
image = (ImageView)findViewById(R.id.iv);
imgs = new ArrayList<>();
imgs.add("https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1508910683617&di=73f055f2e18ad010b60f29bda13ca3a8&imgtype=0&src=http%3A%2F%2Fimgsrc.baidu.com%2Fimage%2Fc0%253Dshijue1%252C0%252C0%252C294%252C40%2Fsign%3Da8e6763e61600c33e474d68b72253b7a%2F8644ebf81a4c510f1a7c57306a59252dd42aa564.jpg");
imgs.add("https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1508910757462&di=9e24a3cd1f6d00b3c373690b8b3ceb4e&imgtype=0&src=http%3A%2F%2Fpic.qiantucdn.com%2F58pic%2F19%2F75%2F71%2F571227cc578f2_1024.jpg");
imgs.add("https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1508910757460&di=461ac91bd572b862fff5c13a50b90f95&imgtype=0&src=http%3A%2F%2Fimgsrc.baidu.com%2Fimgad%2Fpic%2Fitem%2F5d6034a85edf8db1074e8e5d0223dd54564e74a3.jpg");
handler.sendEmptyMessageDelayed(1,1000);
}
}
-------------------- MyApp -----------------------
package com.example.image;
import android.app.Application;
import com.nostra13.universalimageloader.cache.disc.naming.Md5FileNameGenerator;
import com.nostra13.universalimageloader.cache.memory.impl.LruMemoryCache;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;
/**
* Created by Earl on 2017/10/26.
*/
public class Myapp extends Application {
public void onCreate() {
super.onCreate();
ImageLoaderConfiguration configuration = new ImageLoaderConfiguration.Builder(this).
memoryCache(new LruMemoryCache(2 * 1024 * 1024))//设置内存缓存区大小
.memoryCacheSize(2 * 1024 * 1024)//设置缓存区大小
.memoryCacheExtraOptions(320, 320)//缓存图片最大的宽度与高度 px
.diskCacheSize(50 * 1024 * 1024)//设置sd卡缓存的空间大小
.diskCacheFileNameGenerator(new Md5FileNameGenerator())//sd卡缓存图片的命名 使用md5加密方式
.diskCacheFileCount(100)//缓存文件的最大数量
.writeDebugLogs()//写入日志
.build(); //对imageLoader进行初使化 ImageLoader.getInstance().init(configuration);
}
}
---------------------- activity_main.xml ----------------------
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.image.MainActivity">
<ImageView
android:id="@+id/iv"
android:layout_width="match_parent"
android:layout_height="150dp" />
</android.support.constraint.ConstraintLayout>
---------------------------- AndroidManifest.xml -------------------------
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.image">
<uses-permission android:name="android.permission.INTERNET"/>
<application android:name=".Myapp"
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>