Skip to content

Commit dfd2614

Browse files
committed
Update README.md
1 parent 815fad9 commit dfd2614

File tree

1 file changed

+17
-15
lines changed

1 file changed

+17
-15
lines changed

docs/README.md

Lines changed: 17 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ title: Android SDK使用文档
1818

1919
Android SDK只包含了最终用户使用场景中的必要功能。相比服务端SDK而言,客户端SDK不会包含对云存储服务的管理和配置功能。
2020

21-
该SDK支持不低于2.1的Android版本
21+
该SDK支持不低于2.2的Android版本(api8)
2222

2323
<a name="use-scenario"></a>
2424
## 使用场景
@@ -36,7 +36,7 @@ Android SDK只包含了最终用户使用场景中的必要功能。相比服务
3636
<a name="load"></a>
3737
## 接入SDK
3838

39-
> TODO: 如何将该SDK整合到工作项目中?使用jar包?拷贝源文件?
39+
该SDK没有包含工程文件,这时需要自己新建一个工程,然后将src里面的代码复制到代码目录里面。
4040

4141
<a name="upload"></a>
4242
## 上传文件
@@ -53,7 +53,7 @@ Android SDK只包含了最终用户使用场景中的必要功能。相比服务
5353
```
5454
public void put(String key,
5555
InputStreamAt isa,
56-
PutExtra extra,
56+
com.qiniu.io.PutExtra extra,
5757
JSONObjectRet ret);
5858
```
5959

@@ -64,7 +64,7 @@ public void put(String key,
6464
key | String | 将保存为的资源唯一标识。请参见[关键概念:键值对](http://developer.qiniu.com/docs/v6/api/overview/concepts.html#key-value)
6565
isa | InputStreamAt | 待上传的本地文件。
6666
extra | PutExtra | 额外配置项,用于精确控制上传行为。请参见[高级设置](#upload-config)
67-
ret | JSONObjectRet | 开发者需实现该接口以获取上传进度和上传结果。<br>若上传成功,该接口中的`onSuccess()`方法将被调用。否则`onFailure()`方法将被调用。
67+
ret | JSONObjectRet | 开发者需实现该接口以获取上传进度和上传结果。<br>若上传成功,该接口中的`onSuccess()`方法将被调用。否则`onFailure()`方法将被调用。 `onProgress()`会在文件上传量发生更改的时候被调用,而且处于MainThread环境之中,可以直接操作ProgressBar之类的进度提示控件。
6868

6969
表单上传的示例代码请参见SDK示例中[MyActivity.doUpload()](https://github.com/qiniu/android-sdk/blob/develop/src/com/qiniu/demo/MyActivity.java)方法的实现。
7070

@@ -82,14 +82,22 @@ ret | JSONObjectRet | 开发者需实现该接口以获取上传进度和上传
8282

8383
开发者可以基于分片上传机制实现断点续上传功能。
8484

85-
> TODO: 该SDK是否已经支持断点续上传功能?基本的要求是可反馈完整的进度信息给开发者进行持久化,并且在上传时可以传入之前持久化的上传进度信息。
85+
```
86+
class ResumableIO {
87+
public static void put(String key,
88+
InputStreamAt isa,
89+
com.qiniu.resumableio.PutExtra extra,
90+
JSONObjectRet ret);
91+
}
92+
```
93+
具体用法和`IO.put`的类似。
8694

8795
<a name="upload-concurrency"></a>
8896
### 上传中的并发性
8997

9098
分片上传机制也提供了对一个文件并发上传的能力。
9199

92-
> TODO: 现在这个SDK可以设置并发数量吗?
100+
> 目前底层采用AsyncTask来完成异步操作,系统底层默认是使用单线程来串行运行所有的AsyncTask,所以如果需要真正意义上的多线程上传,需要将AsyncTask放入线程池, 详细操作请参考[这里](http://developer.android.com/reference/android/os/AsyncTask.html)
93101
94102
<a name="upload-config"></a>
95103
### 高级设置
@@ -110,14 +118,6 @@ extra.params.put("x:a", "bb"); // 设置一个自定义变量
110118

111119
对这些后续动作的合理组合使用可以大幅降低业务流程复杂度,并提升业务的健壮性。
112120

113-
举例说明,如果用户上传的是一个xxx格式的视频文件,开发者可以设置让该视频文件上传完成后转码为设定的目标格式。对应的设置项如下所示:
114-
115-
参数名称 | 参数内容 | 说明
116-
:---: | :----: | :---
117-
persistentOp | TODO:xxxxx | 符合数据处理规范的指令。这个指令表示要将码率调整为xxx,分辨率调整为xxx。
118-
persistentNotifyUrl | TODO:xxxxx | 结果通知地址,通常是向业务服务器发送该指定的请求。
119-
120-
> TODO:填写真实有效的一个示例。
121121

122122
完整的可设置参数和规格请参见[上传策略规格](http://developer.qiniu.com/docs/v6/api/reference/security/put-policy.html)
123123

@@ -138,4 +138,6 @@ persistentNotifyUrl | TODO:xxxxx | 结果通知地址,通常是向业务服务
138138
<a name="thread-safety"></a>
139139
## 线程安全性
140140

141-
此 Android SDK 不是线程安全的,请勿在没有保护的情况下跨线程使用。
141+
Android 一般的情况下会使用一个主线程来控制UI,非主线程无法控制UI,在Android4.0+之后必须不能在主线程完成网络请求,
142+
该SDK是根据以上的使用场景设计,所有网络的操作均使用AsyncTask异步运行,所有回调函数又都回到了主线程(onSuccess, onFailure, onProgress),在回调函数内可以直接操作UI控件。
143+
如果您没有额外使用`new Thread()`等命令,该SDK将不会发生线程安全性问题。

0 commit comments

Comments
 (0)