您的位置:首页 > 移动开发 > Android开发

Android_RxJava最简单的用法

2016-06-19 11:22 627 查看
@作者 : 西野奈留

@博客:http://blog.csdn.net/narunishino

-2016/6/19-

1.rxJava_最简单的用法1

private void rxJava_最简单的用法1() {
/**
* via https://asce1885.gitbooks.io/android-rd-senior-advanced/content/che_di_le_jie_rxjava_ff08_yi_ff09_ji_chu_zhi_shi.html */

//创建Observable,发送消息
Observable<String> observable = Observable.create(
new Observable.OnSubscribe<String>() {
@Override
public void call(Subscriber<? super String> subscriber) {
subscriber.onNext("hello world");
subscriber.onCompleted();
}
}
);
//创建Subscriber,接收消息
Subscriber<String> subscriber = new Subscriber<String>() {
@Override
public void onCompleted() {

}

@Override
public void onError(Throwable e) {

}

@Override
public void onNext(String s) {
//do something
}
};
//把两者联系起来
observable.subscribe(subscriber);
}


2.rxJava_最简单的用法2

private void rxJava_最简单的用法2() {
Observable.create(new Observable.OnSubscribe<Integer>() {
@Override
public void call(Subscriber<? super Integer> subscriber) {
for (int i = 0; i < 5; i++) {
subscriber.onNext(i);
}
subscriber.onCompleted();
}
}).subscribe(new Observer<Integer>() {
@Override
public void onCompleted() {
Log.d(TAG, "onCompleted>>>");

}

@Override
public void onError(Throwable e) {
Log.d(TAG, "onError>>>");

}

@Override
public void onNext(Integer integer) {
Log.d(TAG, "onNext_integer " + integer);

}
});
}


3.rxJava_map的用法

private void rxJava_map的用法() {
Observable.just("images/logo.png") // 输入类型 String
.map(new Func1<String, Bitmap>() {
@Override
public Bitmap call(String filePath) { // 参数类型 String
return getBitmapFromPath(filePath); // 返回类型 Bitmap
}

})
.subscribe(new Action1<Bitmap>() {
@Override
public void call(Bitmap bitmap) { // 参数类型 Bitmap
showBitmap(bitmap);
}
});
}

private void showBitmap(Bitmap bitmap) {
}

private Bitmap getBitmapFromPath(String filePath) {
return null;
}


-End-
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息