Android通过网络实现简易轮播图

先导入依赖一个Banner和一个imageloader
在这里插入图片描述
紧接着写布局
在这里插入图片描述

public class MainActivity extends AppCompatActivity {

private Banner banner;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    banner = findViewById(R.id.banner);
    List<String> list = new ArrayList<>();
    list.add("https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1505151721118&di=649c9a43aed72fbc4d99ec1a031510c6&imgtype=0&src=http%3A%2F%2Fimg.zcool.cn%2Fcommunity%2F015c7d574b9f8f6ac72525aee98351.jpg");
    list.add("https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1505151956771&di=0eb6f306991d24b67a13ceb336f80102&imgtype=0&src=http%3A%2F%2Fi0.hdslb.com%2Fbfs%2Farchive%2F00613def3f1beb7a35ae136341be2b589bc46a2d.jpg_320x200.jpg");
    list.add("https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1505151847685&di=c7a4b5d08ec43fa629bcb690039a7629&imgtype=0&src=http%3A%2F%2Fattimg.dospy.com%2Fimg%2Fday_080625%2F20080625_2e91a10c444877e88827vri2ZKdGMvQo.jpg");
    list.add("https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1505151825129&di=70bf74b87d8a15cb91a2d79f15ed0eaf&imgtype=0&src=http%3A%2F%2Fattimg.dospy.com%2Fimg%2Fday_081016%2F20081016_fee215664d5740e56c13E2YB8giERFEX.jpg");
    list.add("https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1505746504&di=930c4d677a02328a142d6fa85ed14580&imgtype=jpg&er=1&src=http%3A%2F%2Fattimg.dospy.com%2Fimg%2Fday_090113%2F20090113_6ac58b42bea94f0b318e1B6BZb5lPZl5.jpg");

    banner.setImageLoader(new ImageLoader() {
        @Override
        public void displayImage(Context context, Object path, ImageView imageView) {
            DisplayImageOptions options = new DisplayImageOptions.Builder()
                    .cacheInMemory(true)
                    .cacheOnDisk(true)
                    .build();
            com.nostra13.universalimageloader.core.ImageLoader.getInstance()
                    .displayImage((String) path,imageView,options);
        }
    });
    banner.setImages(list);
    banner.isAutoPlay(true);
    banner.setDelayTime(3000);
    banner.start();
}

}
可以在APP里写缓存
public class App extends Application {
@Override
public void onCreate() {
super.onCreate();

    String path = Environment.getExternalStorageDirectory().getPath() + "/Image";
    File file = new File(path);
    
    ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(this)
            .memoryCacheExtraOptions(200, 200)//配置内存缓存图片的尺寸
            .memoryCacheSize(2 * 1024 * 1024)//配置内存缓存的大小
            .threadPoolSize(3)//配置加载图片的线程数
            .threadPriority(1000)//配置线程的优先级
            .diskCache(new UnlimitedDiskCache(file))//UnlimitedDiskCache 限制这个图片的缓存路径
            .diskCacheFileCount(50)//配置sdcard缓存文件的数量
            .diskCacheFileNameGenerator(new Md5FileNameGenerator())//MD5这种方式生成缓存文件的名字
            .diskCacheSize(50 * 1024 * 1024)//在sdcard缓存50MB
            .build();//完成

    ImageLoader.getInstance().init(config);
}

}

最后不要忘记写网络权限和读取权限还有APP权限
在这里插入图片描述

最后就实现了简易的轮播图
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_44285793/article/details/86505200