我应该从返回带有 Transfer-Encoding: chunked 的 json 的服务器流式传输一个端点。
我有以下代码,但我无法读取响应。我尝试了 responseBody.streamBytes() 并将输入流转换为 String 但我无法在主线程中执行此操作。我怎么能阅读回复?
@Streaming
@GET("stream/status")
Observable<ResponseBody> streamStatus();
Observable<ResponseBody> observable = ApiClientHelper.getClient().streamStatus();
observable
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<ResponseBody>() {
@Override
public void onSubscribe(Disposable d) {
}
@Override
public void onNext(final ResponseBody responseBody) {
//DON'T KNOW HOW TO READ DATA
}
@Override
public void onError(Throwable e) {
}
@Override
public void onComplete() {
}
});
Run Code Online (Sandbox Code Playgroud)
编辑:
使用 CURL 的服务器响应:
@Streaming
@GET("stream/status")
Observable<ResponseBody> streamStatus();
Observable<ResponseBody> observable = ApiClientHelper.getClient().streamStatus();
observable
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<ResponseBody>() {
@Override
public …
Run Code Online (Sandbox Code Playgroud) 我有一个TextInputLayout + TextInputEditText和微调器的表单.我想要微调器高度换行文本,但在下拉列表中有大项目.问题是微调器的高度取决于下拉项高度(simple_spinner_dropdown_item).我设置style ="@ style/Base.Widget.AppCompat.Spinner.Underlined"以在spinner下面添加一行.
有解决方案吗