亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

android - RxJava中如何根據已有的函數或函數回調創建Observable?

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

問題描述

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

或者有其他的函數回調,怎么將這些函數回調的數據使用bufferDebouncezip等操作符處理數據?

問題解答

回答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的回調,不方便再包裝一層,因此用了Subject這種可以【隨時隨地】發射數據、訂閱和發射方便分開寫的發射器。對于一般的回調可以這樣寫,給你個百度定位的回調感受一下

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();} }

對于一般的函數,可以這樣

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

標簽: java
相關文章:
主站蜘蛛池模板: 免费观看片 | 欧洲无线区一二区 | 免费看影片的网站入口 | 做爰成人五级在线视频 | 晚上睡不着偷偷看b站免费是视频 | 精品视频一区二区三区免费 | 国产精品青草久久久久婷婷 | 色涩亚洲| 131美女爱做免费高清视频 | 亚洲美女在线观看 | 日韩毛片欧美一级国产毛片 | 午夜a爱| 国产精品视频色拍拍 | 精品欧美一区二区三区免费观看 | 毛片一级黄片 | 欧美精品在线视频观看 | 亚洲欧美综合一区 | 国产精品理论片在线观看 | 精品国产区一区二区三区在线观看 | 成人偷拍自拍 | 国产偷窥自拍视频 | 日本高清免费毛片久久看 | 免费人成在线视频播放2022 | 亚洲国产m3u8在线观看 | 女人被免费网站视频在线 | 国产成人高清精品免费软件 | 成人深夜福利在线播放不卡 | 日本黄色一级 | 爱呦视频在线播放网址 | 国产日本韩国 | 亚洲精品一区乱码在线观看 | 午夜精品久久久久久久 | www视频免费在线观看 | 精品日韩欧美国产一区二区 | 成人免费高清视频网址 | 国产色图视频 | 国产高清在线91福利 | 日韩中文字幕免费 | 99国产精品热久久久久久夜夜嗨 | 一级特黄特色aa大片 | 日本一级特黄毛片高清视频 |