欢迎来到代码驿站!

Android代码

当前位置:首页 > 移动开发 > Android代码

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

时间:2020-12-11 20:52:15|栏目:Android代码|点击:

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

RXjava

// An highlighted block
image = 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;
 }

上一篇:Android自定义多节点进度条显示的实现代码(附源码)

栏    目:Android代码

下一篇:Android 后台调度任务与省电详解

本文标题:RXjava网络获取图片数据的方法

本文地址:http://www.codeinn.net/misctech/31615.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有