Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
#Changelog

## 7.2.0 (2016-04-29)

### 修改
* okhttp依赖 升级到3.0

## 7.1.3 (2016-03-07)

### 修正
Expand Down
13 changes: 11 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,21 @@ 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文件 复制到项目中去,sdk依赖 http://loopj.com/android-async-http/ 7.0.7版本依赖1.4.7,1.4.8;7.0.8及7.0.9依赖1.4.9。7.1.0 以后切换到okhttp(2.6及以上)[下载地址](http://search.maven.org/remotecontent?filepath=com/qiniu/qiniu-android-sdk/)
将sdk jar文件 复制到项目中去,[下载地址](http://search.maven.org/remotecontent?filepath=com/qiniu/qiniu-android-sdk/) 还有对应的依赖库
还有 happy-dns [下载地址](https://repo1.maven.org/maven2/com/qiniu/happy-dns/)

### 通过maven
* 如果在Adroid Studio中使用,添加dependencies `compile 'com.qiniu:qiniu-android-sdk:7.1.+'` 或在项目中添加maven依赖
* 如果在Adroid Studio中使用,添加dependencies `compile 'com.qiniu:qiniu-android-sdk:7.2.+'` 或在项目中添加maven依赖
* 如果是eclipse, 也可以直接添加依赖来处理。

## 使用方法
Expand Down
24 changes: 15 additions & 9 deletions library/library.iml
Original file line number Diff line number Diff line change
Expand Up @@ -62,28 +62,32 @@
<sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/main/jni" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/main/rs" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/res" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/resources" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/assets" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/aidl" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/java" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/jni" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/rs" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/test/res" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/test/resources" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/test/assets" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/test/aidl" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/test/jni" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/test/rs" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/res" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/resources" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/assets" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/aidl" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/java" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/jni" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/rs" isTestSource="true" />
<excludeFolder url="file://$MODULE_DIR$/build/docs" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/assets" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/blame" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/bundles" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/classes" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/debugAndroidTest" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/dependency-cache" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/dex" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental-safeguard" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/instant-run-support" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/jniLibs" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/lint" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/manifests" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/mockable-android-22.jar" />
Expand All @@ -92,8 +96,10 @@
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/res" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/resources" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/rs" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/shaders" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/symbols" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/tmp" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/transforms" />
<excludeFolder url="file://$MODULE_DIR$/build/ivy.xml" />
<excludeFolder url="file://$MODULE_DIR$/build/libs" />
<excludeFolder url="file://$MODULE_DIR$/build/outputs" />
Expand All @@ -105,7 +111,7 @@
<orderEntry type="jdk" jdkName="Android API 23 Platform" jdkType="Android SDK" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" exported="" name="okio-1.6.0" level="project" />
<orderEntry type="library" exported="" name="happy-dns-0.2.5" level="project" />
<orderEntry type="library" exported="" name="okhttp-2.7.2" level="project" />
<orderEntry type="library" exported="" name="okhttp-3.2.0" level="project" />
<orderEntry type="library" exported="" name="happy-dns-0.2.7" level="project" />
</component>
</module>
14 changes: 7 additions & 7 deletions library/src/androidTest/java/com/qiniu/android/CancelTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -73,13 +73,13 @@ public void testD700k() throws Throwable {
templateData(700, 0.2);
}

// public void testD1M() throws Throwable {
// templateData(1024, 0.51);
// }
//
// public void testD4M() throws Throwable {
// templateData(4 * 1024, 0.6);
// }
public void testD1M() throws Throwable {
templateData(1024, 0.51);
}

public void testD4M() throws Throwable {
templateData(4 * 1024, 0.6);
}

private void templateFile(final int size, final double pos) throws Throwable {
final File tempFile = TempFile.createFile(size);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@


public final class Constants {
public static final String VERSION = "7.1.3";
public static final String VERSION = "7.2.0";

public static final String UTF_8 = "utf-8";
}
3 changes: 1 addition & 2 deletions library/src/main/java/com/qiniu/android/http/Client.java
Original file line number Diff line number Diff line change
Expand Up @@ -38,9 +38,8 @@ public final class Client {
public static final String DefaultMime = "application/octet-stream";
public static final String JsonMime = "application/json";
public static final String FormMime = "application/x-www-form-urlencoded";

private OkHttpClient httpClient;
private final UrlConverter converter;
private OkHttpClient httpClient;

public Client() {
this(null, 10, 30, null, null);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@

import com.qiniu.android.common.Constants;

import org.json.JSONException;
import org.json.JSONObject;

import java.util.Locale;
Expand Down
40 changes: 19 additions & 21 deletions library/src/main/java/com/qiniu/android/storage/ResumeUploader.java
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,25 @@ public void complete(String key, ResponseInfo info, JSONObject response) {
this.token = token;
}

private static boolean isChunkOK(ResponseInfo info, JSONObject response) {
return info.statusCode == 200 && info.error == null && (info.hasReqId() || isChunkResOK(response));
}

private static boolean isChunkResOK(JSONObject response) {
try {
// getXxxx 若获取不到值,会抛出异常
response.getString("ctx");
response.getLong("crc32");
} catch (Exception e) {
return false;
}
return true;
}

private static boolean isNotChunkToQiniu(ResponseInfo info, JSONObject response) {
return info.statusCode < 500 && info.statusCode >= 200 && (!info.hasReqId() && !isChunkResOK(response));
}

public void run() {
int offset = recoveryFromRecord();
try {
Expand Down Expand Up @@ -281,27 +300,6 @@ public void complete(ResponseInfo info, JSONObject response) {
putChunk(address, offset, chunkSize, context, progress, complete, options.cancellationSignal);
}


private static boolean isChunkOK(ResponseInfo info, JSONObject response) {
return info.statusCode == 200 && info.error == null && (info.hasReqId() || isChunkResOK(response));
}

private static boolean isChunkResOK(JSONObject response) {
try {
// getXxxx 若获取不到值,会抛出异常
response.getString("ctx");
response.getLong("crc32");
} catch (Exception e) {
return false;
}
return true;
}


private static boolean isNotChunkToQiniu(ResponseInfo info, JSONObject response) {
return info.statusCode < 500 && info.statusCode >= 200 && (!info.hasReqId() && !isChunkResOK(response));
}

private int recoveryFromRecord() {
if (config.recorder == null) {
return 0;
Expand Down