Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/219.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
RxJava/RxAndroid-来自传感器的无限事件流_Android_Rx Java_Reactive Programming_Rx Android - Fatal编程技术网

RxJava/RxAndroid-来自传感器的无限事件流

RxJava/RxAndroid-来自传感器的无限事件流,android,rx-java,reactive-programming,rx-android,Android,Rx Java,Reactive Programming,Rx Android,我有一个应用程序,可以监控传感器的事件,转换它们,并需要向用户推送上游 例如,使用android.location.LocationManager更改位置。转换可能包括使用原始lat/long和GeoCoder获取地址 如何对显示器(LocationListener)和发布服务器建模 class MyLocationListener implements LocationListener { void onLocationChanged(Location l) { //G

我有一个应用程序,可以监控传感器的事件,转换它们,并需要向用户推送上游

例如,使用android.location.LocationManager更改位置。转换可能包括使用原始
lat/long
GeoCoder
获取
地址

如何对显示器(
LocationListener
)和发布服务器建模

class MyLocationListener implements LocationListener {
    void onLocationChanged(Location l) {
        //Get Address using GeoCoder
    }
}


class MetaAPI {
    Observable<Address> address() {
        return Observable.create({what}); //<-- What should I add here?
        //Need to glue MyLocationManager and MetaAPI
    }
}

//So that I can use like this -->
public AddressObservation {
    void monitor() {
        metaApi.address()
            .subscribe(...)
            ...;
    }
}
类MyLocationListener实现LocationListener{
无效onLocationChanged(位置l){
//使用地理编码器获取地址
}
}
类MetaAPI{
可观察地址(){
返回可观察的。创建({what})//
公共广播观察{
无效监视器(){
metaApi.address()
.订阅(…)
...;
}
}

您可以使用
主题来实现此目的。这只是主要思想,没有任何设计考虑(根据您的情况进行调整):

类MyLocationListener实现LocationListener{
无效onLocationChanged(位置l){
//使用地理编码器获取地址
MetaAPI.subject.onNext(null/*实际地址对象*/);
}
}
类MetaAPI{
静态主题=PublishSubject.create().toSerialized();
可观察地址(){
返回主题;
}
}

您可以使用
主题来实现此目的。这只是主要思想,没有任何设计考虑(根据您的情况进行调整):

类MyLocationListener实现LocationListener{
无效onLocationChanged(位置l){
//使用地理编码器获取地址
MetaAPI.subject.onNext(null/*实际地址对象*/);
}
}
类MetaAPI{
静态主题=PublishSubject.create().toSerialized();
可观察地址(){
返回主题;
}
}

让我试一试。据我所知,
Subject=Observable+observator
组合。@MasterGaurav正确,
Subject
Observable
这一事实允许您将其作为一个整体返回,而不向
address()的客户端公开此实现细节
method。是的……这就是我的意思。让我试一试。据我所知,
Subject=Observable+observator
combo.@MasterGaurav正确,
Subject
Observable
这一事实允许您将其作为一个整体返回,而不是向
address()的客户机公开此实现细节
方法。是的……这就是我的意思。