您的位置:首页 > 理论基础 > 计算机网络

okhttp的观察者模式使用

2017-12-27 15:27 134 查看
public class MainActivity extends AppCompatActivity {

private TextView mViewById;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mViewById = (TextView) findViewById(R.id.tv_name);

//第一种方式
Observable observable= Observable.create(new Observable.OnSubscribe<String>() {
@Override
public void call(Subscriber<? super String> subscriber) {
subscriber.onNext("hello");
}
});
Subscriber subscriber=new Subscriber<String>() {
@Override
public void onCompleted() {
}
@Override
public void onError(Throwable e) {
}
@Override
public void onNext(String o) {
mViewById.setText(o);
}
};
observable.subscribe(subscriber);

//第二种方式
observable.subscribe(new Action1<String>() {
@Override
public void call(String o) {
mViewById.setText(o+" 2222");
}
});

//第三种方式
Observable.just("String").subscribe(new Action1<String>() {
@Override
public void call(String s) {
mViewById.setText(s+" 3333");
}
});

//第四种方式 将业务与视图分开 通过map操作符 进行对数据改变
Observable.just("String").map(new Func1<String, String>() {
@Override
public String call(String s) {
return s+"44444";
}
}).subscribe(new Action1<String>() {
@Override
public void call(String s) {
mViewById.setText(s);
}
});

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