Skip to content

Commit 8795af1

Browse files
committed
rxandroid white characters updated
1 parent f13dab5 commit 8795af1

File tree

1 file changed

+102
-101
lines changed

1 file changed

+102
-101
lines changed

_drafts/2019-05-27-rxandroid.md

Lines changed: 102 additions & 101 deletions
Original file line numberDiff line numberDiff line change
@@ -21,28 +21,28 @@ Obiekt obserwatora dokonuje subskrybcji obiektu obserwowanego za pomocą metody
2121

2222
{% highlight java %}
2323
private Observer<String> createObserver() {
24-
Observer<String> observer = new Observer<String>() {
25-
@Override
26-
public void onSubscribe(Disposable d) {
27-
//Observer subscribe to Observable
28-
}
29-
30-
@Override
31-
public void onNext(String s) {
32-
//Observer received some data stream
33-
}
34-
35-
@Override
36-
public void onError(Throwable e) {
37-
//Observer received emitted error
38-
}
39-
40-
@Override
41-
public void onComplete() {
42-
//Observer completed receiving data from Observable
43-
}
44-
};
45-
return observer;
24+
Observer<String> observer = new Observer<String>() {
25+
@Override
26+
public void onSubscribe(Disposable d) {
27+
//Observer subscribe to Observable
28+
}
29+
30+
@Override
31+
public void onNext(String s) {
32+
//Observer received some data stream
33+
}
34+
35+
@Override
36+
public void onError(Throwable e) {
37+
//Observer received emitted error
38+
}
39+
40+
@Override
41+
public void onComplete() {
42+
//Observer completed receiving data from Observable
43+
}
44+
};
45+
return observer;
4646
}
4747
{% endhighlight %}
4848

@@ -51,45 +51,45 @@ Obiekt obserwowany w `RxJava` jest strumieniem danych wykonującym operacje i em
5151

5252
{% highlight java %}
5353
private Observable<String> createObservableJust() {
54-
//up to 10 items
55-
Observable<String> observable = Observable.just("Catan", "Splendor", "7 Wonders", "Codenames", "Taboo");
56-
return observable;
54+
//up to 10 items
55+
Observable<String> observable = Observable.just("Catan", "Splendor", "7 Wonders", "Codenames", "Taboo");
56+
return observable;
5757
}
5858

5959
private Observable<String> createObservableFrom() {
60-
//create Observable by one of: fromArray, fromCallable, fromFuture, fromIterable, fromPublisher
61-
Observable<String> observable = Observable.fromArray("Catan", "Splendor", "7 Wonders", "Codenames", "Taboo");
62-
return observable;
60+
//create Observable by one of: fromArray, fromCallable, fromFuture, fromIterable, fromPublisher
61+
Observable<String> observable = Observable.fromArray("Catan", "Splendor", "7 Wonders", "Codenames", "Taboo");
62+
return observable;
6363
}
6464

6565
private Observable<String> createObservable() {
66-
final List<String> data = prepareData();
67-
Observable<String> observable = Observable.create(new ObservableOnSubscribe<String>() {
68-
@Override
69-
public void subscribe(ObservableEmitter<String> emitter) throws Exception {
70-
//emit all data one by one
71-
for(String item : data) {
72-
if(!emitter.isDisposed()) {
73-
emitter.onNext(item);
74-
}
75-
}
76-
//emit completed event
77-
if(!emitter.isDisposed()) {
78-
emitter.onComplete();
79-
}
80-
}
81-
});
82-
return observable;
66+
final List<String> data = prepareData();
67+
Observable<String> observable = Observable.create(new ObservableOnSubscribe<String>() {
68+
@Override
69+
public void subscribe(ObservableEmitter<String> emitter) throws Exception {
70+
//emit all data one by one
71+
for(String item : data) {
72+
if(!emitter.isDisposed()) {
73+
emitter.onNext(item);
74+
}
75+
}
76+
//emit completed event
77+
if(!emitter.isDisposed()) {
78+
emitter.onComplete();
79+
}
80+
}
81+
});
82+
return observable;
8383
}
8484

8585
private List<String> prepareData() {
86-
List<String> data = new ArrayList<>();
87-
data.add("Catan");
88-
data.add("Splendor");
89-
data.add("7 Wonders");
90-
data.add("Codenames");
91-
data.add("Taboo");
92-
return data;
86+
List<String> data = new ArrayList<>();
87+
data.add("Catan");
88+
data.add("Splendor");
89+
data.add("7 Wonders");
90+
data.add("Codenames");
91+
data.add("Taboo");
92+
return data;
9393
}
9494
{% endhighlight %}
9595

@@ -98,43 +98,45 @@ Wprowadzone w module `RxAndroid` harmonogramy decydują o tym na jakim wątku ob
9898

9999
{% highlight java %}
100100
private void startWorkAndSubscribe() {
101-
//create Observable and Observer
102-
Observable<String> observable = createObservable();
103-
Observer<String> observer = createObserver();
104-
105-
//subscribe on choosen schedulers
106-
observable
107-
.observeOn(Schedulers.io()) //emit data on background thread
108-
.subscribeOn(AndroidSchedulers.mainThread()) //receive data on UI thread
109-
.subscribe(observer); //subscribe observer to observable
101+
//create Observable and Observer
102+
Observable<String> observable = createObservable();
103+
Observer<String> observer = createObserver();
104+
105+
//subscribe on choosen schedulers
106+
observable
107+
.observeOn(Schedulers.io()) //emit data on background thread
108+
.subscribeOn(AndroidSchedulers.mainThread()) //receive data on UI thread
109+
.subscribe(observer); //subscribe observer to observable
110110
}
111111
{% endhighlight %}
112112

113113
## Operatory
114114
Operatory pozwalają na manipulacje i modyfikacje emitowanych danych za pomocą zadań transformacji, filtrowania, łączenia, agregacji czy tworzenia. RxJava dostarcza szeroki zbiór operatorów podzielonych na kategorie w zależności od rodzaju operacji, a ich łączenie umożliwia uzyskanie dowolnego złożonego strumienia danych. Poza operatorami odpowiedzialnymi za tworzenie obiektów obserwowanych (`create`, `just`, `from` itp) do często wykorzystywanych należą m.in. `filter`, `map`, `skip`, `take`, `concat`.
115115

116+
{% highlight java %}
116117
private void startWorkAndSubscribeWithOperators() {
117-
Observable<String> observable = createObservable();
118-
Observer<Object> observer = createObserver();
119-
120-
observable
121-
.observeOn(Schedulers.io())
122-
.subscribeOn(AndroidSchedulers.mainThread())
123-
.filter(new Predicate<String>() { //emit only some elements
124-
@Override
125-
public boolean test(String s) throws Exception {
126-
return s.toLowerCase().startsWith("c");
127-
}
128-
})
129-
.map(new Function<String, Object>() { //modify data
130-
@Override
131-
public Object apply(String s) {
132-
return s.toUpperCase();
133-
}
134-
})
135-
.subscribe(observer);
136-
}
137-
118+
Observable<String> observable = createObservable();
119+
Observer<Object> observer = createObserver();
120+
121+
observable
122+
.observeOn(Schedulers.io())
123+
.subscribeOn(AndroidSchedulers.mainThread())
124+
.filter(new Predicate<String>() { //emit only some elements
125+
@Override
126+
public boolean test(String s) throws Exception {
127+
return s.toLowerCase().startsWith("c");
128+
}
129+
})
130+
.map(new Function<String, Object>() { //modify data
131+
@Override
132+
public Object apply(String s) {
133+
return s.toUpperCase();
134+
}
135+
})
136+
.subscribe(observer);
137+
}
138+
{% endhighlight %}
139+
138140
## Uchwyt
139141
W celu uniknięcia wycieków pamięci związanych z niepożądaną dłużej subskrypcją obserwatora należy przypisać referencje `Disposable` z poziomu obserwatora oraz wypisać go z subskrypcji.
140142

@@ -152,9 +154,9 @@ public class SingleObserverActivity extends AppCompatActivity {
152154
Observer<String> observer = createObserver();
153155

154156
observable
155-
.observeOn(Schedulers.io())
156-
.subscribeOn(AndroidSchedulers.mainThread())
157-
.subscribe(observer);
157+
.observeOn(Schedulers.io())
158+
.subscribeOn(AndroidSchedulers.mainThread())
159+
.subscribe(observer);
158160
}
159161

160162
@Override
@@ -168,7 +170,7 @@ public class SingleObserverActivity extends AppCompatActivity {
168170
Observer<String> observer = new Observer<String>() {
169171
@Override
170172
public void onSubscribe(Disposable d) {
171-
//assign subscription to dispoable
173+
//assign subscription to dispoable
172174
disposable = d;
173175
}
174176
@Override
@@ -181,7 +183,7 @@ public class SingleObserverActivity extends AppCompatActivity {
181183
return observer;
182184
}
183185

184-
private Observable<String> createObservableJust() {
186+
private Observable<String> createObservableJust() {
185187
Observable<String> observable = Observable.just("Catan", "Splendor", "7 Wonders", "Codenames", "Taboo");
186188
return observable;
187189
}
@@ -205,21 +207,20 @@ public class MultipleObserversActivity extends AppCompatActivity {
205207
DisposableObserver<String> observerFilteredGames = createDisposableObserver();
206208

207209
compositeDisposable.add(observable
208-
.subscribeOn(Schedulers.io())
209-
.observeOn(AndroidSchedulers.mainThread())
210-
.subscribeWith(observerGames));
210+
.subscribeOn(Schedulers.io())
211+
.observeOn(AndroidSchedulers.mainThread())
212+
.subscribeWith(observerGames));
211213

212214
compositeDisposable.add(observable
213-
.subscribeOn(Schedulers.io())
214-
.observeOn(AndroidSchedulers.mainThread())
215-
.filter(new Predicate<String>() {
216-
@Override
217-
public boolean test(String s) throws Exception {
218-
return s.toLowerCase().startsWith("c");
219-
}
220-
})
221-
.subscribeWith(observerFilteredGames));
222-
215+
.subscribeOn(Schedulers.io())
216+
.observeOn(AndroidSchedulers.mainThread())
217+
.filter(new Predicate<String>() {
218+
@Override
219+
public boolean test(String s) throws Exception {
220+
return s.toLowerCase().startsWith("c");
221+
}
222+
})
223+
.subscribeWith(observerFilteredGames));
223224
}
224225

225226
@Override
@@ -228,7 +229,7 @@ public class MultipleObserversActivity extends AppCompatActivity {
228229
compositeDisposable.clear(); //clear all disposable
229230
}
230231

231-
private Observable<String> createObservableJust() {
232+
private Observable<String> createObservableJust() {
232233
Observable<String> observable = Observable.just("Catan", "Splendor", "7 Wonders", "Codenames", "Taboo");
233234
return observable;
234235
}

0 commit comments

Comments
 (0)