Równoczesne

  
Przenoś zadania z głównego wątku za pomocą coroutines i korzystaj z interfejsu ListenableFuture.
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ą.

Tworzenie nowego zgłoszenia

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-alpha01androidx.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.0androidx.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 interfejs ListenableFuture.

Wersja 1.2.0-rc01

29 maja 2024 r.

androidx.concurrent:concurrent-futures:1.2.0-rc01androidx.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-beta01androidx.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-alpha03androidx.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-alpha02androidx.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 zawieszenia ListenableFuture (Ia8a66).

Wersja 1.2.0-alpha01

22 lutego 2023 roku

androidx.concurrent:concurrent-futures:1.2.0-alpha01androidx.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.0androidx.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 wersji androidx.concurrent:concurrent-futures-ktx:1.1.0. Ten element ma być używany z com.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 z kotlinx.coroutines.kotlinx-coroutines-guava.

Wersja 1.1.0-rc01

22 lipca 2020 r.

androidx.concurrent:concurrent-futures:1.1.0-rc01androidx.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-beta01androidx.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-alpha01androidx.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

  • 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 z com.google.guava:listenablefuture, a nie z pełną biblioteką Guava. Jest to lekka wersja Guava, która zawiera tylko ListenableFuture. Użytkownicy korzystający z pełnej biblioteki Guava powinni zamiast tego używać oficjalnych rozszerzeń ListenableFuture z kotlinx.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-beta01androidx.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 ResolvableFutureAbstractResolvableFuture zostały ukryte w publicznych interfejsach API na rzecz interfejsu CallbackToFutureAdapter, 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 interfejsie ListenableFuture. Wolisz go od ResolvableFuture.