You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
.observeOn(Schedulers.io()) //emit data on background thread
108
+
.subscribeOn(AndroidSchedulers.mainThread()) //receive data on UI thread
109
+
.subscribe(observer); //subscribe observer to observable
110
110
}
111
111
{% endhighlight %}
112
112
113
113
## Operatory
114
114
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`.
.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
+
138
140
## Uchwyt
139
141
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.
140
142
@@ -152,9 +154,9 @@ public class SingleObserverActivity extends AppCompatActivity {
152
154
Observer<String> observer = createObserver();
153
155
154
156
observable
155
-
.observeOn(Schedulers.io())
156
-
.subscribeOn(AndroidSchedulers.mainThread())
157
-
.subscribe(observer);
157
+
.observeOn(Schedulers.io())
158
+
.subscribeOn(AndroidSchedulers.mainThread())
159
+
.subscribe(observer);
158
160
}
159
161
160
162
@Override
@@ -168,7 +170,7 @@ public class SingleObserverActivity extends AppCompatActivity {
168
170
Observer<String> observer = new Observer<String>() {
169
171
@Override
170
172
public void onSubscribe(Disposable d) {
171
-
//assign subscription to dispoable
173
+
//assign subscription to dispoable
172
174
disposable = d;
173
175
}
174
176
@Override
@@ -181,7 +183,7 @@ public class SingleObserverActivity extends AppCompatActivity {
0 commit comments