android okio使用方法,在Android中下载RxJava,OkHttp和Okio的进度

在我们的应用程序中,我使用此代码下载图像文件.我需要在UI上显示下载进度(以百分比形式下载的字节数).我如何在此代码中获得下载进度?我搜索了解决方案,但仍无法自行完成.

Observable downloadObservable = Observable.create(

sub -> {

Request request = new Request.Builder()

.url(media.getMediaUrl())

.build();

Response response = null;

try {

response = http_client.newCall(request).execute();

if (response.isSuccessful()) {

Log.d(TAG, "response.isSuccessful()");

String mimeType = MimeTypeMap.getFileExtensionFromUrl(media.getMediaUrl());

File file = new File(helper.getTmpFolder() + "/" + helper.generateUniqueName() + "test." + mimeType);

BufferedSink sink = Okio.buffer(Okio.sink(file));

sink.writeAll(response.body().source());

sink.close();

sub.onNext(response.toString());

sub.onCompleted();

} else {

sub.onError(new IOException());

}

} catch (IOException e) {

e.printStackTrace();

}

}

);

Subscriber mySubscriber = new Subscriber() {

@Override

public void onNext(String responseString) {

Log.d(TAG, "works: " + responseString);

}

};

downloadObservable

.subscribeOn(Schedulers.newThread())

.observeOn(AndroidSchedulers.mainThread())

.subscribe(mySubscriber);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值