# **漫画备份相关技术和细节**
> 有一个误区,必须要说说:
是针对我们此次研究的漫画APP的
在该漫画APP里,搜索漫画资源->查询漫画->进入漫画章节->选择想要阅读的漫画资源->点击下载
此番操作,并没有真正的将漫画图片下载、保存至本地;
实际进行的,是漫画章节目录的下载和保存;
因此,如果要研究真正的漫画下载,必须要谈漫画备份模块。
而漫画下载模块这个主题,按照我写作的原则——**依照目标APP的产品模块讲解**,应该归为漫画【章节】下载主题当中去。
所以,如果你关心漫画章节信息是如何下载和存储的,应该阅读《漫画下载(章节下载)》一节
如果你关心我们浏览的漫画图片,是如何下载和存储的,阅读本节,是正确的。
## 阅读索引:
什么是漫画
漫画的存在形式
漫画的打开形式
漫画的下载=图片的下载
图片的下载过程
图片的保存过程
图片的读取过程
图片的删除过程
多个图片的下载过程
## **什么是漫画**
### **漫画的存在形式:**
漫画的存在形式,计算机上的一本漫画,本质上是一个相册,相册里存放了一个图片集合;每一张漫画,其实就是一张一张的图片,可能是JPG文件,也可能是PNG文件,或者其他。
### **漫画APP软件打开漫画的过程:**
打开漫画,就像打开一副明星写真图像一样简单。
在Android语法里,通过ImageVIew就可以显示一张图像:
* 比如通过imageview.setImageDrawable()就可以显示res/drawable/目录下的j图像文件;
* 比如通过imageview.setBitmap()旧可以显示内存中的图片。
前者是非常简单的加载图片的方式,后者,将是图片加载技术的核心——加载内存当中的图片。
## **漫画的下载**
上面我们已经知道,漫画的本质,就是图片,根据《漫画源》一节,我们也已经拿到图片在远程主机的url地址,比如在《漫画源》一节,有一张html文件源码的图片,标红区域image标签的属性为“http://www....../meinv.jpg” 通过这个连接,我们就可以下载到这张图片
好了,下面我们即将用漫画APP的例子,来讲解如何通过url下载一张图片,并保存至本地
首先,假设我们已经拿到了图片的url链接
从哪里拿到的?
1.可以是第一步,从HTML文件里读取到的
2.也可以是很早之前在HTML文件提取到的,但是我们一直没有使用,后来我们将地址存储到SQL数据中,从数据库读取到的。
3.也可以是从临时文件中读取到的,比如Shareprenece
ok,不论通过什么方式,我们已经拿到了url链接,那么我们如何通过url链接访问远程主机拿到漫画封面图片呢?
答案是,通过符合Android语法规范同时符合Java语法规范的API——发起网络请求操作
下面我们来看一次完整的,网络请求、获取数据的操作:
![](https://box.kancloud.cn/171dde2ec4451e5b00b13b53b56c8062_805x660.png)
漫画APP产品架构图