首页 > 代码库 > 快车移动端SDK使用说明
快车移动端SDK使用说明
快车SDK源自快车下载内核,在高速下载同时,维持超低资源占用。同时提供全面下载任务管理,大大减少下载开发工作。
加速节流
· P2S技术,多源并发下载,帮您减少主源流量
· 可针对单个任务,开启或关闭P2P,平衡节流和用户体验
· 可随时启用或停用P2P模块,无需担心P2P消耗用户电量和流量
完备下载管理
· 提供任务列表管理
· 提供任务的添加、删除、暂停、恢复操作,完美支持断点续传和文件校验
· 支持设定并发任务数,支持任务排队机制
· 提供下载zip数据快速解压缩功能
免费加速
· 利用快车云端资源,针对SDK用户数据提供免费加速
精简移动内核
· 超精简下载内核,专注提供下载服务
· 超低资源占用,稳定高效
· 多源下载、可选P2P、断点续传、多任务管理,满足您各种下载需求
获取Flashget SDK
为了集成Flashget SDK,您首先需要到Flashget SDK官方网站注册并且创建应用,获得Flashget SDK的Appkey,然后到SDK的下载页面下载SDK的压缩包,解压以后可以得到如下图的目录结构:
armeabi : 直接复制该文件到目标项目libs目录。
com.flashget : 在目标项目src下新建com.flashget包,复制com.flaget文件夹下的文件到新建包
FlashgetExamole: Demo文件,直接添加已有项目运行即可。(UTF-8格式)
doc: 说明文档
配置AndroidManifest.xml
首先您需要添加下面的权限列表:
<!-- 获取网络的权限 --> <uses-permission android:name="android.permission.INTERNET"/> <!-- 写外部储存的权限 --> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <!-- 读外部储存的权限 --> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> |
这些权限将允许您的项目和Flashget SDK获取连接网络的权限、获取您的设备网络状态的权限、实现https安全连接的权限、读取手机设备状态的权限和保存必要配置的权限。一般来说,即便不集成Flashget SDK,大部分的项目也都会注册申请这些权限。
紧接着您需要添加应用分配的appKey:
<!-- value:添加应用分配的appKey --> <meta-data android:name="FLASHGET_APPKEY" android:value="您的appKey" > </meta-data> |
添加代码
集成Flashget SDK需要至少在两个地方添加代码,包括:
1) 打开您项目的入口Activity,在其onCreate中插入下面的代码:
String appKey = DownloadUtil.getAppKey(getApplicationContext()); DownloadUtil.downloader = new Downloader(); DownloadUtil.taskInfo = new DownloadTaskInfo(); int test = DownloadUtil.downloader.Init(appKey, DownloadUtil.DATA_PATH); |
这行代码会初始化Flashget SDK,此后对Flashget SDK的操作都依次为基础。如果不在所有Flashget SDK的操作之前调用这行代码,会抛出空指针异常。
2)在您项目的出口Activity的onDestroy方法的第一行插入下面的代码:
DownloadUtil.downloader.Uninit(); |
这行代码会释放资源。
InitSDK是可以重复调用的,其实Flashget SDK建议在您不确定的时候调用这个方法,来保证Flashget SDK被正确初始化。而stopSDK一旦调用了,就必须重新调用InitSDK才能使用Flashget SDK的功能,否则会出现空指针异常。
下面是Flashget SD方法的介绍使用
1) 初始化Flashget SDK:
/** * 初始化 * String strAppKey:注册时得到的key * strConfigDir:配置文件目录 * @return:见错误代码 */ public native int Init(String strAppKey, String strConfigDir); |
2) 添加下载任务
/** * 添加下载任务 * 参数:strUrl:下载链接, strDir:保存目录,strName:保存文件名 * @return:nTaskID:每个下载任务的唯一ID */ public native int AddTask(String strUrl, String strDir, String strName); |
3) 开始下载任务
/** * 开始下载任务 * nTaskID:AddTask()的返回值 * @return:见错误代码 */ public native int StartTask(int nTaskID); |
注:第一次点击下载时必须先调用 AddTask();然后调用StartTask(int nTaskID);
暂停再从新开始下载时只需要调用StartTask(int nTaskID);即可。
4) 暂停下载任务
/** * 暂停下载任务 * nTaskID:AddTask()的返回值 * @return:见错误代码 */ public native int PauseTask(int nTaskID); |
5) 获取任务状态
/** * 获取任务状态 * strUrl:下载链接 * 返回值:见任务状态 */ public native int GetTaskInfo(int nTaskID, DownloadTaskInfo taskInfo); |
6) 删除下载任务
/** * 获取任务状态 * strUrl:下载链接 * 返回值:见任务状态 */ public native int GetTaskInfo(int nTaskID, DownloadTaskInfo taskInfo); |
7) 获取未完成下载任务列表
/** * 获取未完成下载任务列表 * @return:未完成下载任务的nTaskID */ public native ArrayList<Integer> GetUncompletedTaskIDs(); |
8) 获取已下载完成任务列表
/** * 获取已下载完成任务列表 * @return:未完成下载任务的nTaskID */ public native ArrayList<Integer> GetCompletedTaskIDs(); |
9) 退出程序的时候使用来释放资源
/** * 退出程序的时候使用来释放资源 * @return:见错误代码 */ public native int Uninit(); |
10) 设置同时下载的最大任务数(默认2个)
/** * 设置同时下载的最大任务数(默认2个) * 设置数目没有上限 * @return:见错误代码 */ public native int SetMaxDownloadingTaskCount(int nCount); |
点击打开链接
11) 开启/关闭调试模式
/** *开启/关闭调试模式 * @return:见错误代码 */ public native int SetDebugMode(boolean bSetDebug); |
12) 解压缩文件
/** * 解压缩文件 * strSrcFile:压缩绝对路径 * strDir:解压缩后的目录 * @return:任务失败代码 */ public native int UnzipFile(String strSrcFile, String strDir); |
快车移动端SDK使用说明