如何使用RxJava.Observable而不是AsyncTask?

时间:2015-09-02 06:27:51

标签: android android-asynctask rx-java rx-android

使用AsyncTask运行某些任务我遇到了崩溃,所以我试图转移到RxJava。

我可以运行以下代码来打印Hello World!但是如何执行功能而不仅仅是Hello World! ????放置函数会产生语法错误。

Observable<String> myObservable = Observable.create(
            new Observable.OnSubscribe<String>() {
                @Override
                public void call(Subscriber<? super String> sub) {
                    sub.onNext("Hello, world!");
                    sub.onCompleted();
                }
            }
    );


    Subscriber<String> mySubscriber = new Subscriber<String>() {
        @Override
        public void onNext(String s) {
            mLogger.printToLog(className + " -> " + MethodName.methodName() + ": s =" + s);
        }

        @Override
        public void onCompleted() {
        }

        @Override
        public void onError(Throwable e) {
        }
    };

    //Should Output Hello, World! AND IT DOES!
    myObservable.subscribe(mySubscriber);

2 个答案:

答案 0 :(得分:0)

只需让你的方法返回一个字符串就可以了。

答案 1 :(得分:0)

也许您正在寻找doOnNext():

myObservable.doOnNext(runSomething()).subscribe();