赞
踩
- Observable.just("123").subscribe {
- Log.e("msg",it)
- }
普通
- Observable.just("你是")
- .map(new Func1<String, String>() {
- @Override
- public String call(String s) {
- return s + " 张三疯";
- }
- })
- .subscribe(s -> System.out.println(s));
lambda
- Observable.just("你是:","还是:")
- .observeOn(AndroidSchedulers.mainThread())
- .subscribeOn(Schedulers.io())
- .map { "${it}张三疯" }
- .subscribe { Log.e("msg",it) }
图片加载:
- AndroidObservable.bindActivity(this, retrofitService.getImage(url)) .subscribeOn(Schedulers.io())
- .subscribe(bitmap -> myImageView.setImageBitmap(bitmap);
广播监听网路变换:
- IntentFilter filter = new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION);
- AndroidObservable.fromBroadcast(context, filter)
- .subscribe(intent -> handleConnectivityChange(intent));
View的监听:
- ViewObservable.clicks(mCardNameEditText, false)
- .subscribe(view -> handleClick(view));
RxView.clicks(button)
.throttleFirst(1, TimeUnit.SECONDS)
.subscribe(new Observer<Object>() {
@Override
public void onCompleted() {
log.d ("completed");
}
@Override
public void onError(Throwable e) {
log.e("error");
}
@Override
public void onNext(Object o) {
log.d("button clicked");
}
});
- Observable.timer(2, TimeUnit.SECONDS)
- .subscribe(new Observer<Long>() {
- @Override
- public void onCompleted() {
- log.d ("completed");
- }
-
- @Override
- public void onError(Throwable e) {
- log.e("error");
- }
-
- @Override
- public void onNext(Long number) {
- log.d ("hello world");
- }
- });

例如:每隔2秒输出日志“helloworld”。
- Observable.interval(2, TimeUnit.SECONDS)
- .subscribe(new Observer<Long>() {
- @Override
- public void onCompleted() {
- log.d ("completed");
- }
-
- @Override
- public void onError(Throwable e) {
- log.e("error");
- }
-
- @Override
- public void onNext(Long number) {
- log.d ("hello world");
- }
- });

- Observable.create(new Observable.OnSubscribe<String>() {
- @Override
- public void call(final Subscriber<? super String> observer) {
-
- Schedulers.newThread().createWorker()
- .schedulePeriodically(new Action0() {
- @Override
- public void call() {
- observer.onNext(doNetworkCallAndGetStringResult());
- }
- }, INITIAL_DELAY, POLLING_INTERVAL, TimeUnit.MILLISECONDS);
- }
- }).subscribe(new Action1<String>() {
- @Override
- public void call(String s) {
- log.d("polling….”));
- }
- })

Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。