下载解压
<h3>概述</h3>
<p>该文档是<strong>资源下载解压</strong>,主要用于观察<strong>下载解压的状态</strong>,开发者需要继承虚类VTDownloadNotify并实现其方法。
通过该类可用于扩展实现其它功能,例如:表情灯显示表情。</p>
<h3>注意:</h3>
<p><strong><em>我们的通知回调不能处理太多业务,否则会造成识别线程阻塞</em></strong></p>
<hr />
<h4>1. 类定义</h4>
<p>类定义如下:
``` c++
class VTDownloadNotify {
public:
VTDownloadNotify() {
printf("Create VTDownloadNotify.\n");
}
virtual ~VTDownloadNotify() {
printf("Destroy VTDownloadNotify.\n");
}
virtual void onUpdateState(int status, int params) { //更新状态 status:状态值, param:进度 0~100,只有DOWNLOAD_STATUS_PROGRESS状态时有效</p>
<pre><code> }</code></pre>
<p>};</p>
<pre><code>
#### 2. 更新状态
该接口实例会被绘本sdk内部调用,用于将下载解压状态通知给sdk外部的应用。
**接口原型:**</code></pre>
<p>void onUpdateState(int status, int params);</p>
<pre><code>**参数:**
| 参数 | 类型 | 说明 |
| ------------ | ------------ | ---- |
| status | int | 状态值 |
| params | int | 进度值 范围:0~100,只有status=DOWNLOAD_STATUS_PROGRESS时有效 |
**返回值:** 无
| 返回值 | 类型 | 说明 |
| ------------ | ------------ | ----- |
| - | - | - |
#### 3. 下载状态定义:
下载状态通过枚举表示。如下:
``` c++
enum VTDownloadStatus
{
DOWNLOAD_STATUS_START = 0, //开始下载
DOWNLOAD_STATUS_PROGRESS = 1, //下载中
DOWNLOAD_STATUS_COMPLETE = 2, //下载完成
DOWNLOAD_STATUS_ERROR = 3, //下载出错
UNZIP_STATUS_START = 4, //解压开始
UNZIP_STATUS_COMPLETE = 5, //解压完成
UNZIP_STATUS_ERROR = 6, //解压出错
};</code></pre>