Równoczesne

  
Przenieś zadania z głównego wątku za pomocą korutyn i skorzystaj z interfejsu ListenableFuture.
Najnowsza aktualizacja Wersja stabilna Wersja kandydująca do publikacji Wersja Beta Wersja alfa
2 lipca 2025 r. 1.2.0 1.3.0-rc01 - -

Deklarowanie zależności

Aby dodać zależność od Futures, musisz dodać do projektu repozytorium Google Maven. Więcej informacji znajdziesz w repozytorium Maven Google.

Dodaj zależności dotyczące potrzebnych artefaktów 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 odkryjesz nowe problemy lub masz pomysły na ulepszenie tej biblioteki, daj nam znać. Zanim utworzysz nową kartę, zapoznaj się z dotychczasowymi problemami w tej bibliotece. Możesz dodać swój głos do istniejącego problemu, klikając przycisk gwiazdki.

Tworzenie nowego problemu

Więcej informacji znajdziesz w dokumentacji narzędzia Issue Tracker.

Wersja 1.3

Wersja 1.3.0-rc01

2 lipca 2025 r.

androidx.concurrent:concurrent-futures:1.3.0-rc01androidx.concurrent:concurrent-futures-ktx:1.3.0-rc01 zostały opublikowane. Wersja 1.3.0-rc01 zawiera te commity.

Wersja 1.3.0-beta01

20 maja 2025 r.

androidx.concurrent:concurrent-futures:1.3.0-beta01androidx.concurrent:concurrent-futures-ktx:1.3.0-beta01 zostały opublikowane. Wersja 1.3.0-beta01 zawiera te zmiany.

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 zostały opublikowane. Wersja 1.3.0-alpha01 zawiera te zmiany.

Poprawki błędów

  • Ta biblioteka używa teraz adnotacji o wartości null JSpecify, które są używane w typach. Deweloperzy korzystający z języka Kotlin powinni używać tego argumentu kompilatora, aby wymusić prawidłowe użycie: -Xjspecify-annotations=strict (jest to domyślne ustawienie od wersji 2.1.0 kompilatora Kotlin). (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 zostały opublikowane. Wersja 1.2.0 zawiera te zmiany.

Ważne zmiany od wersji 1.1.0

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 zostały opublikowane. Wersja 1.2.0-rc01 zawiera te zmiany.

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 zostały opublikowane. Wersja 1.2.0-beta01 zawiera te zmiany.

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 zostały opublikowane. Wersja 1.2.0-alpha03 zawiera te commity.

Poprawki błędów

  • Naprawiono błąd w obsłudze błędów, gdy zadanie SuspendToFutureAdapter zgłasza wyjątek. (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 zostały opublikowane. Wersja 1.2.0-alpha02 zawiera te zmiany.

Zmiany w interfejsie API

  • Dodano SuspendToFutureAdapter do pisania mostów wiszącychListenableFuture (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 zostały opublikowane. Wersja 1.2.0-alpha01 zawiera te zmiany.

Zmiany w interfejsie API

  • ResolvableFuture ma teraz odpowiednie adnotacje dotyczące możliwości przyjmowania wartości null w swoich metodach. (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 zostały opublikowane bez zmian od 1.1.0-rc01. Wersja 1.1.0 zawiera te zmiany.

Główne zmiany od wersji 1.0.0

  • 1.1.0 wprowadza rozszerzenia Kotlin, które pomagają w konwersji między ListenableFuture a Kotlin Coroutines. Są one teraz dostępne w androidx.concurrent:concurrent-futures-ktx:1.1.0. Ten artefakt jest przeznaczony do używania z com.google.guava:listenablefuture, a nie z pełną biblioteką Guava. Jest to lekki zamiennik Guavy, który zawiera tylko ListenableFuture. Użytkownicy 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 zostały opublikowane bez zmian od 1.1.0-beta01. Wersja 1.1.0-rc01 zawiera te zmiany.

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 zostały opublikowane bez zmian od 1.1.0-alpha01. Wersja 1.1.0-beta01 zawiera te zmiany.

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 zostały opublikowane. Wersja 1.1.0-alpha01 zawiera te zmiany. To pierwsza wersja androidx.concurrent:concurrent-futures-ktx.

Nowe funkcje

  • Rozszerzenia Kotlin, które pomagają w konwersji między ListenableFuture a korutynami Kotlin, są teraz dostępne w concurrent-futures-ktx. Ten artefakt jest przeznaczony do użycia z com.google.guava:listenablefuture, a nie z pełną biblioteką Guava. Jest to lekki zamiennik Guavy, który zawiera tylko ListenableFuture. Użytkownicy pełnej biblioteki Guava powinni zamiast tego używać oficjalnych rozszerzeń ListenableFuture z kotlinx.coroutines.kotlinx-coroutines-guava.

Zmiany w interfejsie API

  • Dodaje rozszerzenie ListenableFuture.await(), które przekształca ListenableFuture w korutynę Kotlin

Wersja 1.0.0

Wersja 1.0.0

9 października 2019 r.

Zostanie wycofaneandroidx.concurrent:concurrent-futures:1.0.0 Wersja 1.0.0 zawiera te zmiany.

Ważne funkcje wersji 1.0.0

androidx.concurrent:concurrent-futures:1.0.0 udostępnia CallbackToFutureAdapterclass, minimalistyczne narzędzie, które umożliwia opakowanie kodu opartego na wywołaniach zwrotnych i zwracanie instancji ListenableFuture. Jest przydatna w przypadku bibliotek, które chcą udostępniać operacje asynchroniczne w swoich interfejsach API w języku Java w bardziej elegancki sposób niż za pomocą niestandardowych wywołań zwrotnych, ale nie wykonują wystarczająco dużo operacji wielowątkowych, aby uzależnić się od pełnej biblioteki Guava lub RxJava ze względu na rozmiar biblioteki.

Wersja 1.0.0-rc01

7 sierpnia 2019 r.

androidx.concurrent:concurrent-futures:1.0.0-rc01 zostaje opublikowany bez zmian w stosunku do 1.0.0-beta01. Listę zmian 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 zostały opublikowane. Listę zmian w tej wersji znajdziesz tutaj.

Biblioteki te zapewniają samodzielny odpowiednik interfejsu ListenableFuture Guavy i adapter do konwertowania wywołań zwrotnych.

Wcześniej opublikowany artefakt androidx.concurrent:concurrent-futures, który zawierał podobny adapter i artefakt com.google.guava:listenablefuture, może być problematyczny dla deweloperów korzystających z łańcuchów narzędzi, takich jak wtyczka Androida do obsługi Gradle w wersji 3.4.0, które wymagają ścisłego dopasowania 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.

Zostanie wycofaneandroidx.concurrent:concurrent-futures:1.0.0-beta01 Listę zmian w tej wersji znajdziesz tutaj.

Zmiany w interfejsie API

  • ResolvableFutureAbstractResolvableFuture zostały ukryte w publicznym interfejsie API na rzecz CallbackToFutureAdapter, który zapewnia bezpieczniejszy interfejs API.

Wersja 1.0.0-alpha03

17 grudnia 2018 r.

Zostanie wycofaneandroidx.concurrent:concurrent-futures 1.0.0-alpha03

Nowe funkcje

  • Wprowadzono CallbackToFutureAdapter. Jest to nowy, bezpieczniejszy interfejs API, który umożliwia opakowanie interfejsu API opartego na wywołaniach zwrotnych w ListenableFuture. Jest to lepsze rozwiązanie niż używanie ResolvableFuture.