网络请求--RXJava+okhttp 进行网络下载操作

本文介绍了如何结合RxJava和OkHttp进行网络下载操作,特别是下载Bitmap图片。通过RxJava的.subscribeOn()和.observeOn()轻松实现线程切换,避免使用Handler和AsyncTask。在下载图片时,将InputStream转换为Bitmap格式,并在onNext()方法中更新UI,确保在主线程执行。
摘要由CSDN通过智能技术生成

下载文件(实时返回下载进度)

RxJava中的事件源(被观察者):这里配合OkHttp进行进行网络操作,

File path = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES);
File file = new File(path,"/okhttpdownload");
/**
 * download file with OkHttp and RxJava (rate) 
 */
Observable<String> downloadObservable = Observable.create(new Observable.OnSubscribe<String>() {
    @Override
    public void call(Subscriber<? super String> subscriber) {
        InputStream inputStream = null;
        OutputStream outputStream = null;
        OkHttpClient client = new OkHttpClient();
        Request request = new Request.Builder()
                      .url("Https://xxxx.txt")
                      .build();
        try{
            Response response = client.newCall(request).execute();
            if (response.isSuccessful()){
                  inputStream = resp
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值