zoukankan      html  css  js  c++  java
  • 【光速使用开源框架系列】图片加载框架ImageLoader

    【关于本系列】

    最近看了不少开源框架,网上的资料也非常多,但是我认为了解一个框架最好的方法就是实际使用。本系列博文就是带领大家快速的上手一些常用的开源框架,体会到其作用。

    由于作者水平有限,本系列只会描述如何快速的使用框架的基本功能,更多的详细设置大家可以在这些项目的页面上找到。

    【介绍】:

    ImageLoader作为一款开源的异步图片加载框架,在Android开发中经常被使用到,该控件可以加载和显示图片。并且对其进行缓存,提供了很多方便的选项帮助开发者们快速达到开发需求。

    【GitHub页面】:

    https://github.com/nostra13/Android-Universal-Image-Loader

    【使用步骤】

    1.从项目的页面上下载zip包或者clone到本地,找到jar包,导入自己的项目,关于如何导入,根据使用IDE的不同也略有差别,大家可以自行搜索

    2.建立一个Activity

    3.新建一个ImageLoaderConfiguration对象,用于ImageLoader的初始化,可以直接调用默认方法创建,如下

    4.初始化ImageLoader对象,由于使用的是单例模式,所以初始化一次即可

    5.创建一个DisplayImageOptions对象,该对象可以设置一些图片显示的选项,如是否缓存到本地,缓存到内存,显示失败时显示哪些内容等

    6.调用ImageLoader的displayImage(String uri, ImageView imageView, DisplayImageOptions options)方法进行显示。

    【代码】

    public class MainActivity extends Activity {
        DisplayImageOptions options;//option类可以做一些设置
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main); 
            ImageView imageView = (ImageView)findViewById(R.id.iv_1);//实例化imageview
            String imageUrl = "https://www.baidu.com/img/bdlogo.png";//设置图片URL
            ImageLoaderConfiguration config = ImageLoaderConfiguration.createDefault(this);//初始化config类,用于初始化
            ImageLoader.getInstance().init(config);//初始化Loader
            options = new DisplayImageOptions.Builder()
                  .cacheInMemory(true)//是否内存缓存
                    .cacheOnDisk(true)//是否缓存到磁盘
                    .bitmapConfig(Bitmap.Config.RGB_565)//配置图片以如何的编码显示
                    .showImageOnFail(R.drawable.pic2)//设置本地图片资源,用于无法加载时显示
                    .build();
            ImageLoader.getInstance().displayImage(imageUrl,imageView, options);//调用displayimage函数,显示
     }
    }

    【效果图】

    可以看到,我们的图片已经成功被加载了

    【一个更复杂的例子,结合ListView或者ViewPager】

    请参考此处:

    http://www.cnblogs.com/tianzhijiexian/p/4034386.html

  • 相关阅读:
    C++位运算详解
    SQL语句获取时间的方法
    redis在windows下安装和ThinkPHP中使用
    数据同步存储过程代码
    C#重写OnKeyPress方法
    SQL Server 2008数据库生成数据库脚本(并带数据)
    C#中邮件的发送
    C#中DGV分页功能
    C#中保持文件夹A与B同步
    C# 获取文件大小,创建时间,文件信息,FileInfo类的属性表
  • 原文地址:https://www.cnblogs.com/u3shadow/p/4634217.html
Copyright © 2011-2022 走看看