UPYUN Android SDK
Java
Switch branches/tags
Clone or download
Latest commit de57d20 Jun 27, 2018
Permalink
Failed to load latest commit information.
app update to 2.0.6 Jun 27, 2018
gradle/wrapper update to 2.0.6 Jun 27, 2018
release-lib add 1.03 jar Feb 13, 2017
upyun-android-sdk update to 2.0.6 Jun 27, 2018
.gitignore first commit Jan 21, 2016
.travis.yml update to 2.0.6 Jun 27, 2018
README.md update to 2.0.6 Jun 27, 2018
build.gradle update to 2.0.6 Jun 27, 2018
gradle.properties first commit Jan 21, 2016
gradlew first commit Jan 21, 2016
gradlew.bat first commit Jan 21, 2016
settings.gradle update module Feb 1, 2016

README.md

UPYUN Android SDK

Build Status Download

UPYUN Android SDK, 集成:

注:1.XX SDK 服务器验证策略已过期,推荐使用最新 2.0 上传方式

使用说明:

1.直接下载 JAR 包复制进项目使用, SDK 依赖 okhttp。(2.0 以后不再提供 jar 包下载)

2.SDK 已经上传 Jcenter,Android Studio 的用户可以直接在 gradle 中添加一条 dependencies:

compile 'com.upyun:upyun-android-sdk:2.0.6'

3.DEMO 示例在 app module 下的 MainActivity

参数设置

UpConfig 中可以对 SDK 的一些参数进行配置。

  • BLOCK_SIZE 单个分块大小
  • FILE_BOUND 自动判断使用分块或者表单上传的文件大小界限
  • CONCURRENCY 上传线程并发数量
  • EXPIRATION 默认过期时间偏移量(秒)
  • FORM_HOST 表单上传 HOST
  • BLOCK_HOST 分块上传 HOST
  • RETRY_TIME 失败重传次数
  • CONNECT_TIMEOUT 连接超时(秒)
  • READ_TIMEOUT 读超时(秒)
  • WRITE_TIMEOUT 写超时(秒)

上传接口

表单上传 (新)

//表单上传(本地签名方式)
UploadEngine.getInstance().formUpload(temp, paramsMap, OPERATER, UpYunUtils.md5(PASSWORD), completeListener, progressListener);
//表单上传(服务器签名方式)
UploadEngine.getInstance().formUpload(temp, policy, OPERATER, signature, completeListener, progressListener);

参数说明:

  • temp 上传文件
  • paramsMap 参数键值对
  • OPERATER 操作员
  • PASSWORD 操作员密码(MD5后传入)
  • completeListener 结束回调(回调到 UI 线程,不可为 NULL)
  • progressListener 进度条回调(回调到 UI 线程,可为 NULL)
  • policy 从服务器获取的 policy(生成规则见官网文档
  • progressListener 从服务器获取的 signature(生成规则见官网文档

断点续传

2.0 提供一种新的上传方式可以用来代替分块上传,使用方式如下:

//初始化断点续传
ResumeUploader uploader = new ResumeUploader(SPACE,OPERATER,UpYunUtils.md5(PASSWORD));

//设置 MD5 校验
uploader.setCheckMD5(true);

//设置进度监听
uploader.setOnProgressListener(new ResumeUploader.OnProgressListener() {
      @Override
      public void onProgress(int index, int total) {
      }
});

//开始断点续传,可用方法 1 或方法 2
//方法 1
uploader.upload(final File file, final String uploadPath, final Map<String, String> restParams, final UpCompleteListener completeListener)

//方法 2
uploader.upload(final File file, final String uploadPath, final Map<String, String> restParams, final Map<String, Object> processParam, final UpCompleteListener completeListener)

参数说明:

  • file 上传文件
  • uploadPath 上传路径
  • restParams rest api 上传预处理参数可为空 (详见文档
  • processParam 异步音视频处理参数 (详见文档
  • completeListener 结束回调(回调到 UI 线程,不可为 NULL)

表单上传(旧)

UploadManager.getInstance().formUpload(new File(localFilePath), paramsMap, KEY, completeListener, progressListener);
UploadManager.getInstance().formUpload(new File(localFilePath), paramsMap, signatureListener, completeListener, progressListener);

使用该方法,直接选择通过表单上传方式上传文件。

参数说明:

  • localFilePath 文件路径
  • paramsMap 参数键值对
  • KEY 表单 API 验证密钥(form_api_secret)
  • signatureListener 获取签名回调
  • completeListener 结束回调(回调到 UI 线程,不可为 NULL)
  • progressListener 进度条回调(回调到 UI 线程,可为 NULL)

两种上传方式可根据自己情况选择一种,KEY 用户可直接保存在客户端,signatureListener 用户可以通过请求服务器获取签名返回客户端。signatureListener 回调接口规则如下:

SignatureListener signatureListener=new SignatureListener() {
    @Override
    public String getSignature(String raw) {
        return UpYunUtils.md5(raw+KEY);
    }
};

将参数 raw 传给后台服务器和表单密匙连接后做一次 md5 运算返回结果。

参数键值对中 Params.BUCKET(上传空间名)和 Params.SAVE_KEYParams.PATH(保存路径,任选一个)为必选参数, 其他可选参数见 Params 或者官网 API 文档

分块上传(旧)

UploadManager.getInstance().blockUpload(new File(localFilePath), paramsMap, KEY, completeListener, progressListener);
UploadManager.getInstance().blockUpload(new File(localFilePath), paramsMap, signatureListener, completeListener, progressListener);

使用该方法,直接选择通过分块上传方式上传文件。 参数说明:同上。

测试

./gradlew connectedAndroidTest

错误码说明

请参照 API 错误码表

兼容性

Android 2.3(API10) 以上环境