Równoczesne
Ostatnia aktualizacja | Wersja stabilna | Wersja kandydująca | Wersja Beta | Wersja alfa |
---|---|---|---|---|
11 grudnia 2024 r. | 1.2.0 | - | - | 1.3.0-alpha01 |
Deklarowanie zależności
Aby dodać zależność od Futures, musisz dodać do projektu repozytorium Google Maven. Więcej informacji znajdziesz w repozytorium Maven firmy Google.
Dodaj zależności dla artefaktów, których potrzebujesz, w pliku build.gradle
aplikacji lub modułu:
Odlotowe
dependencies { implementation "androidx.concurrent:concurrent-futures:1.2.0" // Kotlin implementation "androidx.concurrent:concurrent-futures-ktx:1.2.0" }
Kotlin
dependencies { implementation("androidx.concurrent:concurrent-futures:1.2.0") // Kotlin implementation("androidx.concurrent:concurrent-futures-ktx:1.2.0") }
Więcej informacji o zależnościach znajdziesz w artykule Dodawanie zależności kompilacji.
Opinia
Twoja opinia pomoże nam ulepszyć Jetpacka. Jeśli zauważysz nowe problemy lub masz pomysły na ulepszenie tej biblioteki, daj nam znać. Zanim utworzysz nowy problem, zapoznaj się z dotychczasowymi problemami w tej bibliotece. Możesz dodać swój głos do istniejącego problemu, klikając przycisk z gwiazdką.
Więcej informacji znajdziesz w dokumentacji narzędzia Issue Tracker.
Wersja 1.3
Wersja 1.3.0-alpha01
11 grudnia 2024 r.
androidx.concurrent:concurrent-futures:1.3.0-alpha01
i androidx.concurrent:concurrent-futures-ktx:1.3.0-alpha01
są dostępne. Wersja 1.3.0-alpha01 zawiera te komity.
Poprawki błędów
- Biblioteka ta korzysta teraz z adnotacji JSpecify dotyczących nullowania, które są używane w zależności od typu. Deweloperzy Kotlina powinni używać tych argumentów kompilatora, aby wymusić prawidłowe użycie:
-Xjspecify-annotations=strict, -Xtype-enhancement-improvements-strict-mode
(I0faf4, b/326456246)
Wersja 1.2
Wersja 1.2.0
12 czerwca 2024 r.
androidx.concurrent:concurrent-futures:1.2.0
i androidx.concurrent:concurrent-futures-ktx:1.2.0
są dostępne. Wersja 1.2.0 zawiera te komisy.
Ważne zmiany od wersji 1.1.0
- Dodano parametr
SuspendToFutureAdapter
, który umożliwia przetłumaczenie wywołania interfejsu API do zawieszania w interfejsListenableFuture
.
Wersja 1.2.0-rc01
29 maja 2024 r.
androidx.concurrent:concurrent-futures:1.2.0-rc01
i androidx.concurrent:concurrent-futures-ktx:1.2.0-rc01
są dostępne. Wersja 1.2.0-rc01 zawiera te komity.
Wersja 1.2.0-beta01
14 maja 2024 r.
androidx.concurrent:concurrent-futures:1.2.0-beta01
i androidx.concurrent:concurrent-futures-ktx:1.2.0-beta01
są dostępne. Wersja 1.2.0-beta01 zawiera te komity.
Wersja 1.2.0-alpha03
20 marca 2024 r.
androidx.concurrent:concurrent-futures:1.2.0-alpha03
i androidx.concurrent:concurrent-futures-ktx:1.2.0-alpha03
są dostępne. Wersja 1.2.0-alpha03 zawiera te komity.
Poprawki błędów
- Usunęliśmy błąd w obsługiwaniu błędów, który występował, gdy zadanie
SuspendToFutureAdapter
rzucało wyjątkiem. (b/327629504)
Wersja 1.2.0-alpha02
9 sierpnia 2023 r.
androidx.concurrent:concurrent-futures:1.2.0-alpha02
i androidx.concurrent:concurrent-futures-ktx:1.2.0-alpha02
są dostępne. Wersja 1.2.0-alpha02 zawiera te commity.
Zmiany w interfejsie API
- Dodano
SuspendToFutureAdapter
do zapisywania mostków zawieszeniaListenableFuture
(Ia8a66).
Wersja 1.2.0-alpha01
22 lutego 2023 roku
androidx.concurrent:concurrent-futures:1.2.0-alpha01
i androidx.concurrent:concurrent-futures-ktx:1.2.0-alpha01
są dostępne. Wersja 1.2.0-alpha01 zawiera te commity.
Zmiany w interfejsie API
- Metody
ResolvableFuture
mają teraz odpowiednie adnotacje dotyczące możliwości wystąpienia wartości null. (I2339f, b/236474470)
Wersja 1.1.0
Wersja 1.1.0
19 sierpnia 2020 r.
androidx.concurrent:concurrent-futures:1.1.0
i androidx.concurrent:concurrent-futures-ktx:1.1.0
są publikowane bez zmian od 1.1.0-rc01
. Wersja 1.1.0 zawiera te zatwierdzenia.
Najważniejsze zmiany od wersji 1.0.0
1.1.0
wprowadza rozszerzenia Kotlina, które ułatwiają konwersję między interfejsem ListenableFuture a Kotlin Coroutines. Są one dostępne w wersjiandroidx.concurrent:concurrent-futures-ktx:1.1.0
. Ten element ma być używany zcom.google.guava:listenablefuture
, a nie z pełną biblioteką Guava, która jest lekkim zamiennikiem Guava zawierającym tylko ListenableFuture. Użytkownicy korzystający z pełnej biblioteki Guava powinni zamiast tego używać oficjalnych rozszerzeń ListenableFuture zkotlinx.coroutines.kotlinx-coroutines-guava
.
Wersja 1.1.0-rc01
22 lipca 2020 r.
androidx.concurrent:concurrent-futures:1.1.0-rc01
i androidx.concurrent:concurrent-futures-ktx:1.1.0-rc01
są publikowane bez zmian od 1.1.0-beta01
. Wersja 1.1.0-rc01 zawiera te zatwierdzenia.
Wersja 1.1.0-beta01
24 czerwca 2020 r.
androidx.concurrent:concurrent-futures:1.1.0-beta01
i androidx.concurrent:concurrent-futures-ktx:1.1.0-beta01
są publikowane bez zmian od 1.1.0-alpha01
. Wersja 1.1.0-beta01 zawiera te commity.
Wersja 1.1.0-alpha01
18 grudnia 2019 r.
androidx.concurrent:concurrent-futures:1.1.0-alpha01
i androidx.concurrent:concurrent-futures-ktx:1.1.0-alpha01
są dostępne. Wersja 1.1.0-alpha01 zawiera te zatwierdzenia: To pierwsza wersja androidx.concurrent:concurrent-futures-ktx
.
Nowe funkcje
- W
concurrent-futures-ktx
są teraz dostępne rozszerzenia Kotlina, które ułatwiają konwersję między interfejsem ListenableFuture a routinami Kotlin Coroutines. Ten element jest przeznaczony do użycia zcom.google.guava:listenablefuture
, a nie z pełną biblioteką Guava. Jest to lekka wersja Guava, która zawiera tylkoListenableFuture
. Użytkownicy korzystający z pełnej biblioteki Guava powinni zamiast tego używać oficjalnych rozszerzeń ListenableFuture zkotlinx.coroutines.kotlinx-coroutines-guava
.
Zmiany w interfejsie API
- Dodaje zawieszające rozszerzenie
ListenableFuture.await()
, które konwertuje ListenableFuture na coroutine w Kotlinie.
Wersja 1.0.0
Wersja 1.0.0
9 października 2019 r.
androidx.concurrent:concurrent-futures:1.0.0
został zwolniony. Wersja 1.0.0 zawiera te zatwierdzenia:
Ważne funkcje wersji 1.0.0
androidx.concurrent:concurrent-futures:1.0.0
udostępnia klasę CallbackToFutureAdapter
, która jest minimalistycznym narzędziem umożliwiającym owinięcie kodu wywołania zwrotnego i zwracanie instancji ListenableFuture
. Jest to przydatne w przypadku bibliotek, które chcą udostępniać operacje asynchroniczne w interfejsach API Java w bardziej elegancki sposób niż w przypadku niestandardowych wywołań zwrotnych, ale nie wykonują one wystarczającej ilości ciężkich operacji wielowątkowych, aby ze względu na rozmiar biblioteki zależeć od pełnej wersji Guava lub RxJava.
Wersja 1.0.0-rc01
7 sierpnia 2019 r.
androidx.concurrent:concurrent-futures:1.0.0-rc01
jest publikowany bez zmian z 1.0.0-beta01
. Zmiany zawarte w tej wersji znajdziesz tutaj.
Concurrent-ListenableFuture w wersji 1.0.0-beta01
30 maja 2019 r.
androidx.concurrent:concurrent-listenablefuture:1.0.0-beta01
i androidx.concurrent:concurrent-listenablefuture-callback:1.0.0-beta01
są dostępne. Zmiany zawarte w tej wersji znajdziesz tutaj.
Te biblioteki udostępniają samodzielny odpowiednik interfejsu ListenableFuture z Guavy oraz adapter do konwertowania wywołań zwrotnych.
Wcześniej opublikowany artefakt androidx.concurrent:concurrent-futures
, który zapewniał podobny adapter i zawierał artefakt com.google.guava:listenablefuture
, może być problematyczny dla deweloperów korzystających z zestawów narzędzi, takich jak wtyczka Androida do obsługi Gradle 3.4.0, z surowym dopasowywaniem rozwiązywania zależności. Deweloperom, którzy nie korzystają z pełnej biblioteki Guava, zalecamy przejście na androidx.concurrent:concurrent-listenablefuture-callback
.
Wersja 1.0.0-beta01
7 maja 2019 r.
androidx.concurrent:concurrent-futures:1.0.0-beta01
został zwolniony. Zmiany zawarte w tej wersji znajdziesz tutaj.
Zmiany w interfejsie API
- Interfejsy
ResolvableFuture
iAbstractResolvableFuture
zostały ukryte w publicznych interfejsach API na rzecz interfejsuCallbackToFutureAdapter
, który zapewnia bezpieczniejsze API.
Wersja 1.0.0-alpha03
17 grudnia 2018 r.
androidx.concurrent:concurrent-futures 1.0.0-alpha03
został zwolniony.
Nowe funkcje
- Wprowadzono
CallbackToFutureAdapter
. Jest to nowy, bezpieczniejszy interfejs API, który umożliwia owinięcie wywołania zwrotnego w interfejsieListenableFuture
. Wolisz go odResolvableFuture
.