Android SDK 只包含了最终用户使用场景中的必要功能。相比服务端 SDK 而言,客户端 SDK 不会包含对云存储服务的管理和配置功能。
安装
直接安装
将sdk jar文件 复制到项目中去,jar包下载地址 , 下载对应的jar包,以及搜索下载对应的依赖库
通过maven
Android Studio中添加dependencies 或者 在项目中添加maven依赖
// 1 直接导入
implementation 'com.qiniu:qiniu-android-sdk:8.0.+'
// 2 如果要修改okhttp依赖的版本,可采用以下方式(强烈建议使用七牛库依赖的okhttp版本)
implementation ('com.qiniu:qiniu-android-sdk:8.0.+'){
exclude (group: 'com.squareup.okhttp3', module: 'okhttp')
}
implementation 'com.squareup.okhttp3:okhttp:4.2.2'如果是eclipse, 也可以直接添加依赖来处理。
相关链接
如果需要下载历史 jar 包,也可以在 maven 上直接下载,请参考这里。
安全机制
该 SDK 未包含凭证生成相关的功能。开发者对安全性的控制应遵循安全机制中建议的做法,即客户端应向业务服务器每隔一段时间请求上传凭证,而不是直接在客户端使用 AccessKey / SecretKey 生成对应的凭证。在客户端使用 SecretKey 会导致严重的安全隐患。
开发者可以在生成上传凭证前通过配置上传策略来控制上传的后续动作,例如在上传完成后通过回调机制通知业务服务器。该工作在业务服务器端进行,因此非本 SDK 的功能范畴。
存储的服务端SDK提供了上传凭证的生成功能,请参考各个服务端语言的SDK文档。
初始化
一般情况下可以直接使用默认设置,不用单独配置。可以配置超时时长、分片上传阀值等。
Configuration config = new Configuration.Builder()
.connectTimeout(90) // 链接超时。默认90秒
.useHttps(true) // 是否使用https上传域名
.useConcurrentResumeUpload(true) // 使用并发上传,使用并发上传时,除最后一块大小不定外,其余每个块大小固定为4M,
.concurrentTaskCount(3) // 并发上传线程数量为3
.responseTimeout(90) // 服务器响应超时。默认90秒
.recorder(recorder) // recorder分片上传时,已上传片记录器。默认null
.recorder(recorder, keyGen) // keyGen 分片上传时,生成标识符,用于片记录器区分是那个文件的上传记录
.zone(FixedZone.zone0) // 设置区域,不指定会自动选择。指定不同区域的上传域名、备用域名、备用IP。
.build();
// 重用uploadManager。一般地,只需要创建一个uploadManager对象
UploadManager uploadManager = new UploadManager(config);
版本
Qiniu SDK 版本
最低 Android版本
依赖库版本
8.0.x
Android 5.0+
okhttp 4+
7.6.x
Android 5.0+
okhttp 4+
7.5.x
Android 5.0+
okhttp 4+
7.4.6
Android 4.0+
okhttp 3.12.6
7.3.x
Android 2.3+
okhttp 3.11.0
7.2.x
Android 2.3+
okhttp 3+
7.1.x
Android 2.3+
okhttp 2.6+
7.0.8,7.0.9
Android 2.2+
android-async-http 1.4.9
7.0.7
Android 2.2+
android-async-http 1.4.8
注意
推荐使用最新版:8.0.3
AndroidNetwork.getMobileDbm()可以获取手机信号强度,需要如下权限(API>=18时生效)
从7.5.0开始增