一种基于Android平台的图片下载方法及系统与流程

文档序号:11830287阅读:164来源:国知局
一种基于Android平台的图片下载方法及系统与流程

本发明涉及Android系统的智能终端技术领域,尤其涉及的是一种基于Android平台的图片下载方法及系统。



背景技术:

随着智能终端技术的不断发展,电视、手机、平板电脑等智能终端的使用越来越普及。这些智能终端很多采用了Android系统,而Android平台在下载图片上提供了一个Image Loader(图片异步加载并缓存的类)开源框架。该框架功能十分的强大,支持本地和网络图片的下载和显示,特别对图片下载以及显示过程中的内存管理提供了很好的解决方案,也提供了一些设置属性,供开发人员使用解决特殊的需求。但是对于网络下载图片来说,下载的图片是否正确或者是否完整是十分重要的问题,特别是当一些重要的图片在通过该框架下载之后进行显示,很有可能被其他有心人修改,给用户带来损失。现有的Android平台下载图片的正确性和完整性并不能得到校验,正确性和完整性无法得到保障。

因此,现有技术还有待于改进和发展。



技术实现要素:

本发明要解决的技术问题在于,提供一种基于Android平台的图片下载方法及系统,旨在解决现有的Android系统智能终端的图片下载显示的正确性和完整性不高,保护力度低的问题。

本发明解决技术问题所采用的技术方案如下:

一种基于Android平台的图片下载方法,其中,包括以下步骤:

S100、在服务器端获取待下载图片的第一MD5值,并将所述第一MD5值添加到待下载图片的下载地址中;

S200、智能终端从所述服务器端下载所述图片,根据所述下载地址得到对应的第一MD5值;

S300、智能终端获取已下载的所述图片对应的第二MD5值;

S400、将所述第一MD5值与第二MD5值进行对比,若一致,则显示所述图片。

所述的基于Android平台的图片下载方法,其中,所述步骤S100具体包括:

S110、服务器端对待下载图片进行处理,获取所述图片对应的第一MD5值;

S120、将所述第一MD5值添加到所述图片的下载地址中。

所述的基于Android平台的图片下载方法,其中,所述步骤S200具体包括:

S210、智能终端从所述服务器端下载所述图片;

S220、智能终端根据所述图片的下载地址,得到对应的第一MD5值。

所述的基于Android平台的图片下载方法,其中,所述步骤S300还包括:

S310、智能终端从所述服务器端下载所述图片,并保存至本地缓存中;

S320、获取所述本地缓存中所述图片对应的第三MD5值,判断所述第三MD5值与第一MD5值是否一致,若不一致,则删除本地缓存中所述图片。

所述的基于Android平台的图片下载方法,其中,在所述步骤S100和S200之间还包括:

S190、检测智能终端是否开启MD5校验,若开启,则执行步骤S200;若不开启,则智能终端下载所述图片并显示。

一种基于Android平台的图片下载系统,其中,包括:

第一图片处理模块,用于在服务器端获取待下载图片的第一MD5值,并将所述第一MD5值添加到待下载图片的下载地址中;

下载模块,用于通过智能终端从所述服务器端下载所述图片,根据所述下载地址得到对应的第一MD5值;

第二图片处理模块,用于通过智能终端获取已下载的所述图片对应的第二MD5值;

对比模块,用于将所述第一MD5值与第二MD5值进行对比,若一致,则显示所述图片。

所述的基于Android平台的图片下载系统,其中,所述第一图片处理模块包括:

第一MD5值获取单元,用于通过服务器端对待下载图片进行处理,获取所述图片对应的第一MD5值;

地址添加单元,用于将所述第一MD5值添加到所述图片的下载地址中。

所述的基于Android平台的图片下载系统,其中,所述下载模块包括:

图片下载单元,用于通过智能终端从所述服务器端下载所述图片;

地址获取单元,用于通过智能终端根据所述图片的下载地址,得到对应的第一MD5值。

所述的基于Android平台的图片下载系统,其中,所述第二图片处理模块包括:

缓存单元,用于通过智能终端从所述服务器端下载所述图片,并保存至本地缓存中;

判定单元,用于获取所述本地缓存中所述图片对应的第三MD5值,判断所述第三MD5值与第一MD5值是否一致,若不一致,则删除本地缓存中所述图片。

所述的基于Android平台的图片下载系统,其中,还包括:

校验检测模块,用于检测智能终端是否开启MD5校验,若开启,则触发所述下载模块;若不开启,则智能终端下载所述图片并显示。

本发明所提供的一种基于Android平台的图片下载方法及系统,有效地解决了现有Android系统智能终端的图片下载显示的正确性和完整性不高,保护力度低的问题,通过在服务器端获取待下载图片的第一MD5值,并将所述第一MD5值添加到待下载图片的下载地址中;智能终端从所述服务器端下载所述图片,根据所述下载地址得到对应的第一MD5值;智能终端获取已下载的所述图片对应的第二MD5值;将所述第一MD5值与第二MD5值进行对比,若一致,则显示所述图片;将服务器端图片的MD5值与智能终端下载的图片的MD5值进行比对,若一致,则说明图片下载正确和完整,若不一致,则说明图片下载不正确或不完整,有利于下载过程中图片正确性和完整性的保护,提高了保护力度,给用户带来了大大的方便。

附图说明

图1为本发明提供的基于Android平台的图片下载方法较佳实施例的流程图。

图2为本发明提供的基于Android平台的图片下载系统较佳实施例的结构框图。

具体实施方式

本发明提供一种基于Android平台的图片下载方法及系统,为使本发明的目的、技术方案及优点更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

请参阅图1,图1为本发明提供的基于Android平台的图片下载方法较佳实施例的流程图,如图所示,所述方法包括以下步骤:

步骤S100、在服务器端获取待下载图片的第一MD5值,并将所述第一MD5值添加到待下载图片的下载地址中;

步骤S200、智能终端从所述服务器端下载所述图片,根据所述下载地址得到对应的第一MD5值;

步骤S300、智能终端获取已下载的所述图片对应的第二MD5值;

步骤S400、将所述第一MD5值与第二MD5值进行对比,若一致,则显示所述图片。

下面结合具体的实施例对上述步骤进行详细的描述。

在步骤S100中,在服务器端获取待下载图片的第一MD5值,并将所述第一MD5值添加到待下载图片的下载地址中。具体来说,就是在服务器端对待下载的图片进行处理,得到该图片的MD5值。MD5即Message Digest Algorithm MD5(信息-摘要算法5),用于确保信息传输完整一致,是计算机广泛使用的杂凑算法之一(又译摘要算法、哈希算法),为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护。每个图片都有唯一对应的MD5值。用户可通过校验工具获得图片的MD5值。

在实际应用时,首先服务器端对待下载图片进行处理,获取所述图片对应的第一MD5值。为了MD5值方便传输至智能终端,服务器端还将所述第一MD5值添加到所述图片的下载地址中。在服务器端对图片下载地址进行处理,把下载图片的MD5值添加到图片的下载地址里面以这种格式表示:http://xxx.xx.xx/pic/xxx.jpg?md5=479rf4fc78203646xxxx,这样当这个url(Uniform Resource Locator,统一资源定位符)在终端使用的时候就可以从url地址中取得该图片正确的MD5值。统一资源定位符是对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。

在步骤S200中,智能终端从所述服务器端下载所述图片,根据所述下载地址得到对应的第一MD5值。具体来说,所述智能终端为应用Android系统的智能终端,譬如智能电视、移动终端(手机,平板电脑)等。智能终端通过互联网等方式从所述服务器端下载所述图片和第一MD5值。

在实际应用时,智能终端可从所述服务器端下载所述图片,然后根据所述图片的下载地址,得到对应的第一MD5值。

在所述步骤S300中,智能终端获取已下载的所述图片对应的第二MD5值。具体来说,就是智能终端对已下载的图片进行MD5值校验,通过对应的校验工具,便可获得所下载的图片对应的MD5值,也就是上述的第二MD5值。

在步骤S400中,将所述第一MD5值与第二MD5值进行对比,若一致,则显示所述图片。具体来说,智能终端从服务器端下载了第一MD5值,这个第一MD5值是服务器端存放图片时对应的校验值,而第二MD5值是智能终端下载了该图片后对应的校验值。也就是说,第一MD5值是图片在服务器端时对应的校验值,第二MD5值是图片在智能终端时对应的校验值。智能终端将两者进行对比,若一致,则说明所述图片在下载过程中并没有发生改变,则显示所述图片;若不一致,则说明所述图片在下载过程中发生了变化,则不显示所述图片。

进一步地,在所述步骤S100和S200之间还包括:

S190、检测智能终端是否开启MD5校验,若开启,则执行步骤S200;若不开启,则智能终端下载所述图片并显示。具体来说,就是智能终端用户可在智能终端上设置是否开启图片下载的MD5校验,若开启,则执行本发明的上述流程进行图片下载校验,若不开启,则按照常规下载步骤下载并显示图片,不进行校验。

进一步地,由于该Android系统的Image Loader开源框架有缓存功能,下载的图片需要缓存到本地一份,所述步骤S300还包括:

S310、智能终端从所述服务器端下载所述图片,并保存至本地缓存中;

S320、获取所述本地缓存中所述图片对应的第三MD5值,判断所述第三MD5值与第一MD5值是否一致,若不一致,则删除本地缓存中所述图片。具体来说,就是对缓存中的图片进行处理,得到其第三MD5值,然后和服务器端传来的第一MD5值进行对比,若不一致就删除缓存中的图片,若一致,则不删除。

以下以一具体实施例对本发明进行详细说明。在Android系统的智能终端中,在android-universal-Image-Loader框架源码里面找到DisplayImageOptions类,该类主要为开发工程师提供一个属性设置的接口,本发明把是否需要设置图片md5校验的属性添加到该类中。添加一个参数:private final boolean isMd5;

和两个方法:public boolean shouldMd5(){

return isMd5;}

public Builder setNoMd5(){

isMd5 = false;

returnthis;

}

两个方法都是在原生DisplayImageOptions类的基础上添加保证了添加接口和本类接口的一致性。

然后在android-universal Image Loader框架源码里面找到BaseImageDecoder类,该类的作用是用来生成下载图片显示的bitmap(位图文件),在这个类里面找到decode方法,在该方法里面生成bitmap的时候添加MD5校验。添加md5校验方法check Md5(url,inputstream),其中url就是下载图片的地址,inputstream是下载图片的输出流,该方法主要实现从url里面取得图片的md5值以及通过imputstream获得图片的md5,获得之后进行比对,如果一样就返回生成的bitmap,反之返回空。

当智能终端本地缓存的图片的md5值和url传递过来的不一致时候,需要删除缓存下面的图片。因此需要在check Md5方法里面添加删除缓存图片的操作。这样,便实现了对原有Image Loader框架的修改。

当使用该Image Loader框架的时候,首先在设置DisplayImageOptions属性的时候可以调用上述的 setNoMd5()接口,不调用表示默认要进行图片md5校验。

进一步地,通过原有android-universal Image Loader框架回调显示接口,在返回bitmap显示部分做流程处理,当返回值等于空时候则提示用户,譬如图片有误、图片下载不正确、图片下载异常等,达到更好的用户体验效果,使用户一目了然图片下载不正常,不准确,下载过程中发生异常。

本发明提供的基于Android平台的图片下载方法,对android-universal Image Loader框架的属性设置模块进行扩展,添加了是否进行图片MD5值校验属性,然后在图片bitmap生成和图片本地下载部分进行MD5值验证,根据下载图片的MD5值和服务器传递过来的MD5值进行比较,若一致则显示下载的图片,不一致,则不显示,从而提高了图片下载过程中的正确性和保护了图片的完整性,保障了下载图片的正确性和完整性。

基于上述的Android平台的图片下载方法,本发明还提供了一种基于Android平台的图片下载系统,如图2所示,包括:

第一图片处理模块10,用于在服务器端获取待下载图片的第一MD5值,并将所述第一MD5值添加到待下载图片的下载地址中;具体如步骤S100所述;

下载模块20,用于通过智能终端从所述服务器端下载所述图片,根据所述下载地址得到对应的第一MD5值;具体如步骤S200所述;

第二图片处理模块30,用于通过智能终端获取已下载的所述图片对应的第二MD5值;具体如步骤S300所述;

对比模块40,用于将所述第一MD5值与第二MD5值进行对比,若一致,则显示所述图片;具体如步骤S400所述。

进一步地,所述第一图片处理模块10包括:

第一MD5值获取单元,用于通过服务器端对待下载图片进行处理,获取所述图片对应的第一MD5值;

地址添加单元,用于将所述第一MD5值添加到所述图片的下载地址中。

进一步地,所述下载模块20包括:

图片下载单元,用于通过智能终端从所述服务器端下载所述图片;

地址获取单元,用于通过智能终端根据所述图片的下载地址,得到对应的第一MD5值。

进一步地,所述第二图片处理模块30包括:

缓存单元,用于通过智能终端从所述服务器端下载所述图片,并保存至本地缓存中;

判定单元,用于获取所述本地缓存中所述图片对应的第三MD5值,判断所述第三MD5值与第一MD5值是否一致,若不一致,则删除本地缓存中所述图片。

进一步地,基于Android平台的图片下载系统,还包括:

校验检测模块,用于检测智能终端是否开启MD5校验,若开启,则触发所述下载模块;若不开启,则智能终端下载所述图片并显示。

所述智能终端为手机、平板电脑、智能电视等具有Android平台的终端。

综上所述,本发明提供的一种基于Android平台的图片下载方法及系统,通过在服务器端获取待下载图片的第一MD5值,并将所述第一MD5值添加到待下载图片的下载地址中;智能终端从所述服务器端下载所述图片,根据所述下载地址得到对应的第一MD5值;智能终端获取已下载的所述图片对应的第二MD5值;将所述第一MD5值与第二MD5值进行对比,若一致,则显示所述图片;将服务器端图片的MD5值与智能终端下载的图片的MD5值进行比对,若一致,则说明图片下载正确和完整,若不一致,则说明图片下载不正确或不完整,提高了图片下载过程中的正确性和保护了图片的完整性,提高了保护力度,给用户带来了大大的方便。

应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1