我想每秒从Android设备轮询读卡器。 轮询应该来自后台线程,结果应该在主线程上获得。我想为此使用RxJava。即使应用程序在后台运行,轮询线程也不会死亡。
答案 0 :(得分:1)
由于你没有提供任何细节,我会做一些猜测。
Observable.interval( 1, TimeUnit.SECONDS, Schedulers.io() )
.map( tick -> device.poll() )
.filter( value -> goodValue( value ) )
.observeOn( Schedulers.mainThread() )
.subscribe( value -> updateGuiWithValue() );
这将每秒执行poll()
一次,过滤只允许goodValue
,并将值移动到主线程,可以在UI中显示。