00:00
好,上节课呢,我们把这个准备工作做完了啊,接下来呢,我就按照这个步骤啊,一步一步的去这个实现这个image roer加载图片啊,首先第一步呢,要求你去导一个这个价包啊,那我们就按照要求先导个包。下班在这里。应用资源架包啊,把它复制一下。来到这里面。找他LV。然后呢,将它添加到这个。编一下。编辑完它之后啊,啊,看到这个文档,按第二步,在这个你的application中啊,初始化这个image loader,好,那我们就找到我们这个application。之前呢,我们在讲这个的时候啊,用到了这个application啊,那这里面呢,它原来是初始化的这个啊,接下来呢,我们初始化一下初始化。
01:10
啊,那么这里面呢,定义一个方法。It。Al加回车啊,具体的初始化过程我们在这里去实现,首先呢,看一下这步骤啊,初始化con啊,也就全局的初始化这里面呢啊,这么多方法你直接复制过来就行了啊,不要你去一一去写啊。也没有必要。好。这里面呢,就是这个对这个移民load那个全局配置啊进行配置,那需要一个上下文,我们给它传进来一个。Contest contest啊,那这里面呢,就需要传一个上下文啊好,这是初始化的配置啊,大家带大家看一下这个数字化配置啊,首先这里面有一个TH啊priority。
02:05
嗯,这里面呢是no减二,也就是线程优先级啊,下面呢,这个是这个缓存,当同一个URL获取不同大小的图片时啊,缓存到内存时只缓存一个啊,只缓存一个,默认会这个缓存多个,这样呢是为了减少这个内存啊,优化一下啊第二个呢,是这个将保存的时候的URL名称用MD5。啊MD5是一个加密的这个算法啊算法啊下面呢是设置图片下载和显示的工作队列排序啊,进行这个队列按这种方式去排序啊,再下一个呢,是这个打印这个bug这个啊这个呢你不用改啊,每次呢你就把它复制过来就可以了。好。接下来呢,就是初始化这个全局配置啊,其实呢,就是这么一句话啊,初始化一下。
03:02
啊,初始化一下,就是将你刚才这个配置添加到这个移loader啊,这个全局里进行初始化,这是这个第二步初始化配置。接下来你按照这个啊,将创建的这个my application在清单文件中配置啊,我们这个application呢啊,之前呢,已经配置好了啊,因为这个是在讲这个的时候,已经在这个清单文件中进行配置了,那我们这里呢,就不再配置了啊。好。啊,下面呢,是这个在清单文件中去添加这个网络权限和写SC卡的权限啊,这两个权限呢,之前我们的项目工程中也已经有了,这里面呢,我已不再做处理了啊,但是你要是新项目的话,这两个都需要你进行新的配置,好接下来呢,我们就开始写这个啊代码这个布局呢,我们其实已经写完了啊,这个一个历史view啊,初始化view呢,我们也已经初始化完了啊,接下来就剩了第三步啊,初始化这个适配器啊,初始化适配器这里面分三步。
04:04
首先呢,这个构造器其实我们已经啊创完了,但是呢,这个参数我们还没有写,一会儿再写啊,这个初始化这个面漏,但是呢,首先这个适配器要显示这个图片呢啊,就必须得有这个数据,对吧?啊,你要显示什么适配器要是没有数据,它是不能显示的,这里面呢,我们需要显示图片,那么就需要一个这个图片的数据啊这里面呢,给提前给大家准备好了啊,这么多图片啊,这些图片呢,都是来源于网络的啊,都是这个新浪吧,应该是啊新浪啊这里面呢,只需要复制一下就行了。正常的情况下,如果做项目的时候,这个网络这个图片呢,是来源于你的网络的啊,根据你的需求来的,好,我们定义一个这个类。在这里面定义一个啊量cons来我们这个U,这是一个。
05:07
好,再回到这个适配器中啊,既然有了这个图片这个数据啊,接下来写这个适配器就容易多了啊,那就是constant.image啊点也就是这个图片数组的长度啊,数的长度,那再接下来这个就是constant第二。每个item的数据。返回来最后呢,这个呢是一个啊,再往下就是最复杂的这个啊,写这个啊,一共分这么四大啊,首先第一步获取货。创建。没后的。第二步呢,就是获取当前item数据。
06:04
啊,第四步呢,就是显示数据。啊,第三步是显示数据,第四步呢,就是返回这个convert view啊,那我们先提前把它先返回了啊,接下来呢,我们就要获取一下或创建一个ER啊,那我们先创建一个class。Holder。在这里面呢,我们要采用这个注解的方式啊,再用一下啊,让大家更加熟练的使用这个这里面的加S创建一个构造。在构造里面呢,传进来一个will啊。那在这里面呢,我就可以绑定一下这个。啊,直接这个butni。B。Buttonni there b啊,这里面需要传两个参数,第一个给一个this啊,第二个呢,传一个will啊,传一个will。
07:02
啊,一会儿呢,我们在这个布局中啊,去初始化的一个空间啊,首先这一步获取或创建一个hold。V e wh。好的啊,好的。L,好,接下来我们判断一下,判断什么呢?If convert will等于等于空。啊,如果它等于空的时候,那我们就加载一个布局啊,Will inl里面需要一个三角文啊,第二个呢,就是它的布局2.layout。Dear item。我们这个是I list view啊view好,然后呢,第二空件呢,就是空啊空好我们创建一下这个holder啊,等于new一个will holder传进来这个convert view啊传进来这里面呢,我们就不需要这个再find view YD了啊一会用注解的方式,好,那convert view.that talk将这个holder传进来。
08:24
Else。好的。等于convert view点。Get TB嗯,Al加回车,旋转一下这后在第一步就搞定了啊,第二步呢,获取当前item这个数据啊,获取item数据之前呢,我先把这个布局给绘制了啊,Al加回车。创建的布局啊,这个布局呢,其实也比较简单啊,就是一个这个水平的方向的线性布局啊,左侧呢,一个图片里面没有。
09:04
报告内容报告内容。这里面呢,默认我给他一个图片src啊来一个。艾特logo啊,将这个logo弄过来小一点吧,来个50DP。50DB啊,限制一下它的宽高,然后呢,来一个maggie。来个。5DP。啊,好一点。接下来再往下来一个太病。包裹内容,包裹内容。来一个test,带来什么呢?Item item。嗯,Item,呃,大小有点小,来一个SIZE20SP。我要想让到居中,那就是gravity。
10:00
Center啊把它呢变成包裹内容,这样呢就过来了啊就过来了,好,这样呢,我要操作这个控件呢,就需要对这些空间啊加一个ID,首先来一个ID。IV当前是image loader ima压啊image这个呢是。历史。好,再下一个ID TV image。这个呢,就内吧,啊名称好,有了这两个ID之后啊,拿到它返回来,CRL1来到这个后里面啊,对它进行初始化。Alta。Band啊r.ID点它之后呢,这个是这个image view,那就是image view I ma viw啊view有这里面呢,就来一个IV吧,啊名称啊,这样呢就对它谱号了啊再来一个band band什么呢?r.ID点。
11:14
还有一个TV。接下来呢,就是test view name。这样呢,这两个空间呢,我们就初始化完毕了,初始化完毕之后呢,我们就开始获取当前M数据,因为这个当前这个数据啊,啊,其实就是这个啊,这个常量constant啊,他点get这个啊这里面呢,我就不获取了,那直接进入第三步啊,显示数据,首先呢,我们要显示的就是这个test病啊,这个name,那这里面就可以直接这样写holder their name。点set test,这里面呢,我来一个item。啊,加上加一啊加一因为认这个呢是从零开始,那接下来呢,我们就是啊加个一之后就从一开始啊,不断的往后加啊一个区分,再之后我们就是要显示这个加载图片了啊显示加载图片,那这个图片呢啊就需要这个与image load的对象啊这样呢,我们就需要回到我们这个构造方法中,在这里面对这个image load进行初始化,初始化image load啊怎么初始化呢?Me load。
12:37
啊,这里面呢有两个包啊,上面这个是wall里的啊,这个下面呢才是我们面road啊,千万别导出包了啊,面ROEr.get inan out,加回车啊,拿到这个面road这个对象。拿到它之后,我们就可以用它去显示图片了啊,显示图片点display image啊display image这里面呢,有好多方式方法啊,那我们用哪一个呢?啊,我们用这一个这个呢,第一个就是这个URL啊,URL也就是你图片的地址,那我们这里可以给他一下cons.image这个是这个图片URL的数组,这里面给他一个position。
13:23
啊,Pleasure,接下来第二个参数啊,第二参数,第二参数就是你加载回来这张图片要显示到哪个控件上,那我们要显示到哪个控件上啊,很显然是要显示这个we holder中的啊这个控件上对吧?哎,那接下来呢,我们就可以是hold.iv啊,检它进行显示啊再往后就是这个图片具体怎么显示的这个参数的设置啊,需要一个option op ts option,那么这个option式呢,我没有,我们创建一下al加会车变成全局的了啊这个参数呢啊,大家也不用记,也非常多啊,我给大家复制过来看一下。
14:09
啊,在这个构造中,在这啊这么多一会儿呢,带着大家看一眼看C。看都定义了哪些事情?啊,这样呢,就定义好了啊,我们一个一个看,首先呢,是在这里有一个设置图片下载期间显示的图片,就是你这个图片正在下载,还没有下载完啊这个图片,那我给他来一个艾特logo啊再往下呢,这是设置图片UI为空或者为错误的时候显示的图片啊这里面呢,我也给他来一个艾特logo啊啊再下面呢,这个方法呢,是设置图片加载或解码过程中发生错误啊,也是发生错误了,那我们再来一个艾特logo。啊,这个下面呢,是设置下载的图片是否缓存在内存中啊,一个缓存的设置,你设置为处呢,那就是缓存,呃,第二个呢,是设置下载的图片是否缓存在SD卡中啊,你要设置为处也就缓存在SD卡中了啊再下一个呢,就是设置成圆角图片。
15:08
啊,这个呢,是这个圆角的角度啊显示啊,再往下就是这个build了啊,这个不用说了啊好,那接下来呢,我们运行一下啊,看看这个效果怎么样。来到这里面的image loader,点击啊,来到这个页面,点击这个list view。啊,这样呢,就来到这个list啊,Emailr应用中啊,应用在list view中显示啊,这样呢就可以把这个图片呢啊加载过来啊,大家可以看到这个效果啊,还是不错的。
我来说两句