https://github.com/qiniudemo/qiniu-lab-android
Qiniu SDK 版本 | 最低 Android版本 | 依赖库版本 |
---|---|---|
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 |
将sdk jar文件 复制到项目中去,下载地址 还有对应的依赖库 还有 happy-dns 下载地址
- 如果在Adroid Studio中使用,添加dependencies
compile 'com.qiniu:qiniu-android-sdk:7.2.+'
或在项目中添加maven依赖 - 如果是eclipse, 也可以直接添加依赖来处理。
UploadManager 可以创建一次,一直使用。
import com.qiniu.android.storage.UploadManager;
...
String token = "从服务端SDK获取";
UploadManager uploadManager = new UploadManager();
uploadManager.put("Hello, World!".getBytes(), "hello", token,
new UpCompletionHandler() {
@Override
public void complete(String key, ResponseInfo info, JSONObject response) {
Log.i("qiniu", info);
}
}, null);
...
$ ./gradlew connectedAndroidTest
- 混淆处理 对七牛的SDK不需要做特殊混淆处理,混淆时将七牛相关的包都排除就可以了。
- 在Android Studio中,混淆配置在 proguard-rules.pro 里面加上下面几行混淆代码就行:
-keep class com.qiniu.**{*;}
-keep class com.qiniu.**{public <init>();}
-ignorewarnings
注意:-ignorewarnings这个也是必须加的,如果不加这个编译的时候可能是可以通过的,但是release的时候还是会出现错误。
- 对于Eeclipse中也是一样的,在proguard-project.txt 文件附件同样的排除代码就可以了
-keep class com.qiniu.**{*;}
-keep class com.qiniu.**{public <init>();}
-ignorewarnings
-
为什么进度会在95% 停很久 因为上传进度是用sdk写入socket的 字节数/总字节数 作为进度,但写入socket不等于服务器收到并且处理完成,中间还有一段时间,如果只是用字节数就会出现更怪异的情况,在100% 停留很久,所以综合考虑就使用了 95%这个值
-
如何才能得到下载的url 上传这边没有域名概念,只有bucket,一个bucket可以绑定多个域名。 下载的url 可以用bucket里的域名+key 拼接就成,私有的还要加上token
Android 最低要求 2.3
详情参考代码提交指南。
- 如果需要帮助,请提交工单(在portal右侧点击咨询和建议提交工单,或者直接向 support@qiniu.com 发送邮件)
- 如果有什么问题,可以到问答社区提问,问答社区
- 更详细的文档,见官方文档站
- 如果发现了bug, 欢迎提交 issue
- 如果有功能需求,欢迎提交 issue
- 如果要提交代码,欢迎提交 pull request
- 欢迎关注我们的微信 微博,及时获取动态信息。
The MIT License (MIT).详情见 License文件.