RXjava网络获取图片数据的方法

时间:2021-05-20

本文实例为大家分享了RXjava网络获取图片数据的具体代码,供大家参考,具体内容如下

RXjava

// An highlighted blockimage = findViewById(R.id.tu); Observable.create(new ObservableOnSubscribe<Bitmap>() { @Override public void subscribe(ObservableEmitter<Bitmap> e) throws Exception { e.onNext(getBitmap()); } }) //设置数据在子线程中遍历 .subscribeOn(Schedulers.io()) //设置图片在主线程中加载 .observeOn(AndroidSchedulers.mainThread()) .subscribe(new Observer<Bitmap>() { @Override public void onSubscribe(Disposable d) { } @Override public void onNext(Bitmap bitmap) { image.setImageBitmap(bitmap); } @Override public void onError(Throwable e) { } @Override public void onComplete() { } }); image.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Toast.makeText(MainActivity.this, "ee", Toast.LENGTH_SHORT).show(); } }); image.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { } });

网络获取数据

// An highlighted block//获取网络数据 private Bitmap getBitmap() { String str = "https://b-ssl.duitang.com/uploads/blog/201406/16/20140616171020_TiEXR.thumb.700_0.jpeg"; try { URL url = new URL(str); HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection(); urlConnection.setRequestMethod("GET"); urlConnection.setConnectTimeout(2000); urlConnection.connect(); if(urlConnection.getResponseCode() == 200){ return BitmapFactory.decodeStream(urlConnection.getInputStream()); } } catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return null; }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章