1. Wprowadzenie
Plik PDF dokumentu jest dostępny pod nazwą |TUTAJ|.
Przykłady z dokumentu są dostępne pod numerem |TUTAJ|.
1.1. Contexte
Niniejszy dokument nie jest przeznaczony dla początkujących, lecz dla użytkowników posiadających solidne doświadczenie w zakresie języka Java. Wykorzystuje on następujące źródła:
W przeciwieństwie do innych dokumentów, które napisałem, niniejszy dokument opiera się głównie na przykładach i w niewielkim stopniu zagłębia się w teorię. Jednak każdy przykład jest opatrzony objaśnieniem, a dokument ma logiczną strukturę.
ReactiveX to zbiór bibliotek ułatwiających programowanie asynchroniczne oraz wykorzystanie uzyskanych w ten sposób danych:
![]() |
![]() |
![]() |
Biblioteka Rx została zaimplementowana w wielu językach:
![]() |
W tym miejscu skupiamy się na następujących bibliotekach:
- RxJava dla środowiska Java;
- RxAndroid, specjalizacja biblioteki RxJava przeznaczona dla środowiska Android;
- RxSwing, specjalizacja biblioteki RxJava przeznaczona dla środowiska Swing;
Koncepcje programowania reaktywnego wydają się na pierwszy rzut oka skomplikowane. Dlatego niniejszy dokument nie jest z założenia przeznaczony dla początkujących. Niemniej jednak dołożyłem wszelkich starań, aby wyjaśnić zastosowany kod, dzięki czemu nawet osoba z niewielkim doświadczeniem będzie mogła zapoznać się z programowaniem reaktywnym na podstawie tego dokumentu.
1.2. Wykorzystane narzędzia
Poniższe przykłady zostały przetestowane w następującym środowisku pracy:
- komputer z systemem Windows 10 Pro 64-bitowym;
- JDK 1.8 (akapit 1);
- IntelliJ IDEA Community Edition (punkt 10.4);
1.3. Kody przykładów
Kody poniższych przykładów można znaleźć w folderze [dvp/exemples].
![]() | ![]() |
Folder [dvp/exemples] [2] zawiera projekt Gradle z większością przykładów z niniejszego dokumentu. Można go otworzyć w każdym środowisku programistycznym IDE obsługującym menedżera projektów Gradle [http://gradle.org/]. IntelliJ IDEA obsługuje go natywnie. W przypadku Eclipse lub NetBeans wymagana jest wtyczka. W przypadku IntelliJ IDEA Community Edition można postępować w następujący sposób:
![]() | ![]() |
Projekt [exemples] jest skonfigurowany za pomocą następującego pliku [build.gradle] [4]:
buildscript {
repositories {
mavenCentral()
}
}
apply plugin: 'java'
jar {
baseName = 'exemples-01'
version = '0.0.1-SNAPSHOT'
}
repositories {
mavenCentral()
}
dependencies {
compile('io.reactivex:rxswing:0.25.0')
compile('io.reactivex:rxjava:1.1.3')
compile('com.fasterxml.jackson.core:jackson-databind:2.7.3')
}
task wrapper(type: Wrapper) {
gradleVersion = '2.9'
}
- wiersze 18–22: zależności Gradle projektu (biblioteki do pobrania);
- wiersz 19: biblioteka niezbędna do przykładu Swing omówionego w akapicie 2;
- wiersz 20: biblioteka RxJava;
- wiersz 21: biblioteka jSON;
- wiersze 9–12: charakterystyka archiwum Jar wygenerowanego w wyniku kompilacji projektu;
Aby pobrać zależności niezbędne dla projektu, wykonaj następujące czynności: [1-4]:
![]() | ![]() |









