Universal-Image-Loader框架手把手教你学习以及简单demo
手把手教你如何配置Universal-Image-Loader框架及第一个简单网络加载图片
实现的效果是:点击空图片Imageview自动加载网络图片
【tips】:
网上的教程还是很多的,但是我自己亲身试验以后发现写的虽然详细但是对于一个新手来说操作起来还是遇到了不少问题,所以根据我的经历呢,对初步开始搭建到后面运行成功来一个详细讲解,内容不会很详细,主要是入门学习,因为对于新手来说,能够运行起来就是上帝
===================================================================================
【1】:新建android工程,一切以默认为主,便于后面对应各个文件,所以建议大家先不要改动,对于Universal-Image-Loader,相信大家都比较了解了,好处多多,不是很了解的可以看这个网址:
https://github.com/nostra13/Android-Universal-Image-Loader 英文版的,中文的也可以自己搜
首选我们需要下载Universal-Image-Loader.jar并将它导入工程libs里面,下载的话,上面网址里面有提供下载
(整体框架图一目了然,可以看到jar已经导入libs)
【2】新建一个class 继承 Applicaction,并且将配置文件(AndroidManifest.xml)上添加
android:name="ImageLoaderConfig”
每一个Application都可以包括很多个Activity,因此具体放的位置是:
然后记得添加权限
<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
主要是为了可以连接到Internet和可以写入到外置存储卡sd卡一般是
【3】:继承Application的class,因为我自己创建的名字是ImageLoaderConfig,所以之后这么称呼,开始配置
public class ImageLoaderConfig extends Application{ public void onCreate(){ super.onCreate(); //创建默认的ImageLoader 配置参数 ImageLoaderConfiguration config=ImageLoaderConfiguration.createDefault(this); //初始化ImageLosder并且使用以上默认配置 ImageLoader.getInstance().init(config); } }
大家可能网上看到的大部分配置都是比这个复杂,事实上我们真正开发的时候确实是根据自己的需求进行内存大小配置,线程池加载数量以及大小配置,保存在哪里,不过今天这节课是入门,要求是简单,粗暴,而且最重要的是傻瓜式。
【4】:布局文件activity_main里面添加Imageview,用于显示加载下来的图片
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".MainActivity" > <ImageView android:id="@+id/image" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:onClick="loadimage" android:src="@drawable/ic_empty" /> </RelativeLayout>
上面的src素材是我随便找的一个,用于显示无图片状态
【5】:MainActivity.java
public class MainActivity extends Activity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } public void loadimage(View v){ final ImageView mImageView = (ImageView) findViewById(R.id.image); // imageUrl代表图片的URL地址,imageView代表承载图片的IMAGEVIEW控件 String imageUrl="http://c.hiphotos.baidu.com/lbs/pic/item/241f95cad1c8a7864bd84f5e6f09c93d71cf50eb.jpg"; ImageLoader.getInstance().displayImage(imageUrl, mImageView); } }
点击图片以后(因为事先在布局文件中imageview绑定了这个点击方法),
转入loadimage方法,加载输出图片的网址,网址的话大家随便网上看到的图片,鼠标右键复制图片网址即可。
纯粹为了加载默认配置的一个图片的
方法:
public void displayImage(String uri, ImageView imageView) {}
也就是傻瓜式方法,一切用默认配置,显示只需要一行,而且没有监听下载进度,成功与否
到这里程序就结束了
运行一下效果如下:
提供demo下载:大家可以在下载附件中找