快车移动端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);

注:更详细可以下载压缩包里面有详细的使用文档:下载地址:http://sdk.flashget.com/down/flashget_SDK1.0.zip


郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。