av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術(shù)文章
文章詳情頁

android - RxJava中如何根據(jù)已有的函數(shù)或函數(shù)回調(diào)創(chuàng)建Observable?

瀏覽:102日期:2024-02-23 08:38:13

問題描述

在使用Rxjava過程中,可能已經(jīng)有很多函數(shù)回調(diào),那么怎么根據(jù)這些函數(shù)回調(diào)的參數(shù)創(chuàng)建數(shù)據(jù)流?比如如果我需要改造onKeyDown(),那么怎么根據(jù)傳來按鍵的不同,處理特定用戶輸入的序列,比如用戶輸入“1,2,3,4”的時(shí)候做特殊處理。

或者有其他的函數(shù)回調(diào),怎么將這些函數(shù)回調(diào)的數(shù)據(jù)使用bufferDebouncezip等操作符處理數(shù)據(jù)?

問題解答

回答1:

可以這樣寫

private BehaviorSubject<Integer> bs; private void testSeri() {bs = BehaviorSubject.create();//每3次 accept 一次bs.buffer(3).subscribe(new Consumer<List<Integer>>() { @Override public void accept(@NonNull List<Integer> ints) throws Exception {StringBuilder sb = new StringBuilder();for (int i = 0; i < ints.size(); i++){ sb.append(ints.get(0));}Toast.makeText(TestSubjectActivity.this, sb.toString(), Toast.LENGTH_SHORT).show(); }}); } @Override public boolean onKeyDown(int keyCode, KeyEvent event) {bs.onNext(keyCode);return super.onKeyDown(keyCode, event); }

onKeyDown是Activity的回調(diào),不方便再包裝一層,因此用了Subject這種可以【隨時(shí)隨地】發(fā)射數(shù)據(jù)、訂閱和發(fā)射方便分開寫的發(fā)射器。對于一般的回調(diào)可以這樣寫,給你個(gè)百度定位的回調(diào)感受一下

class LocationObservable implements ObservableOnSubscribe<BDLocation> {@Overridepublic void subscribe(final ObservableEmitter<BDLocation> e) throws Exception { initLocation(); mLocationClient.registerLocationListener( new BDLocationListener(){@Overridepublic void onReceiveLocation(BDLocation location) { if (location != null) {mLocationClient.stop();if (!TextUtils.isEmpty(location.getCity())) { e.onNext(location); e.onComplete();} } else {// 定位失敗e.onError(new Exception('百度地圖 定位失敗')); }} } ); mLocationClient.start();} }

對于一般的函數(shù),可以這樣

Observable<String> o1 = Observable.fromCallable(new Callable<String>() { @Override public String call() {return func1(); }});public String func1(){ return 'ok';}

標(biāo)簽: java
相關(guān)文章:
主站蜘蛛池模板: 欧美日韩在线免费 | 久久人体视频 | 欧美一卡二卡在线 | 久久精品国产免费一区二区三区 | 天天拍夜夜爽 | 99re国产视频 | www.亚洲视频 | 免费一级片 | 亚洲综合色自拍一区 | 伊人伊成久久人综合网站 | 久久久久国产精品 | 精品亚洲一区二区三区四区五区 | 狠狠干影院| 成人二区三区 | 天天操天天拍 | 日韩欧美大片 | 中文字幕视频一区二区 | 国产黄色大片 | 国产精品久久久久久久久久三级 | 天天射中文 | 国产亚洲久 | 日日艹夜夜艹 | 美女操网站 | 日本精品久久久久久久 | 国产yw851.c免费观看网站 | 亚洲高清视频一区二区 | 性国产丰满麻豆videosex | 亚洲毛片在线观看 | 日韩精品在线一区 | 久久久久久久一区 | 国产一级特黄视频 | 亚洲视频免费在线观看 | 中国大陆高清aⅴ毛片 | 亚洲美女视频 | 国产传媒毛片精品视频第一次 | 美女张开腿露出尿口 | 国产免费一区二区 | 色999日韩| 欧美综合国产精品久久丁香 | 国产永久免费 | 国产一级在线观看 |