您好,登錄后才能下訂單哦!
本文實例為大家分享了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; }
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。