首页 > 开发文档 > 基础教程

技术文档

资源下载

常见问题

技术文档

 

获取Flashget SDK 

 

为了集成Flashget SDK,您首先需要到Flashget SDK官方网站注册并且创建应用,获得Flashget SDK的Appkey,然后到SDK的下载页面下载SDK的压缩包,解压以后可以得到如下图的目录结构: 

 

armeabi : 直接复制该文件到目标项目libs目录。

com.flashget : 直接复制该包到目标项目src下(包名不可更改)。

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());

Downloader downloader = new Downloader();

DownloadTaskInfo taskInfo = new DownloadTaskInfo();

int test = downloader.Init(appKey, DOWNLOAD_FILE_PATH);

 

这行代码会初始化Flashget SDK,此后对Flashget SDK的操作都依次为基础。如果不在所有Flashget SDK的操作之前调用这行代码,会抛出空指针异常。 

 

2)在您项目的出口ActivityonDestroy方法的第一行插入下面的代码: 

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);

 

 

技术解答:QQ群:158119488 

  邮箱:sdk@flashget.com

  论坛:快车SDK交流