Concurrent
Atualização mais recente | Versão estável | Versão candidata a lançamento | Versão Beta | Versão Alfa |
---|---|---|---|---|
11 de dezembro de 2024 | 1.2.0 | - | - | 1.3.0-alpha01 |
Declarar dependências
Para adicionar uma dependência a Futures, é preciso adicionar o repositório Maven do Google ao seu projeto. Leia Repositório Maven do Google para ver mais informações.
Adicione as dependências dos artefatos necessários no arquivo build.gradle
para
seu app ou módulo:
Groovy
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") }
Para ver mais informações sobre dependências, consulte Adicionar dependências de build.
Feedback
Seu feedback ajuda a melhorar o Jetpack. Avise se você descobrir novos problemas ou tiver ideias para melhorar esta biblioteca. Consulte os problemas conhecidos nesta biblioteca antes de criar um novo. Adicione seu voto a um problema clicando no botão de estrela.
Consulte a documentação do Issue Tracker para saber mais.
Versão 1.3
Versão 1.3.0-alpha01
11 de dezembro de 2024
Lançamento de androidx.concurrent:concurrent-futures:1.3.0-alpha01
e androidx.concurrent:concurrent-futures-ktx:1.3.0-alpha01
. A versão 1.3.0-alpha01 contém estas confirmações.
Correções de bugs
- Essa biblioteca agora usa anotações de nulidade JSpecify, que são de uso de tipo. Os desenvolvedores Kotlin precisam usar os seguintes argumentos do compilador para aplicar o uso correto:
-Xjspecify-annotations=strict, -Xtype-enhancement-improvements-strict-mode
(I0faf4, b/326456246).
Versão 1.2
Versão 1.2.0
12 de junho de 2024
Lançamento de androidx.concurrent:concurrent-futures:1.2.0
e androidx.concurrent:concurrent-futures-ktx:1.2.0
. A versão 1.2.0 contém estas confirmações.
Mudanças importantes desde a 1.1.0
- Adição de
SuspendToFutureAdapter
para traduzir uma chamada para uma API de suspensão em umListenableFuture
.
Versão 1.2.0-rc01
29 de maio de 2024
Lançamento de androidx.concurrent:concurrent-futures:1.2.0-rc01
e androidx.concurrent:concurrent-futures-ktx:1.2.0-rc01
. A versão 1.2.0-rc01 contém estas confirmações.
Versão 1.2.0-beta01
14 de maio de 2024
Lançamento de androidx.concurrent:concurrent-futures:1.2.0-beta01
e androidx.concurrent:concurrent-futures-ktx:1.2.0-beta01
. A versão 1.2.0-beta01 contém estas confirmações.
Versão 1.2.0-alpha03
20 de março de 2024
Lançamento de androidx.concurrent:concurrent-futures:1.2.0-alpha03
e androidx.concurrent:concurrent-futures-ktx:1.2.0-alpha03
. A versão 1.2.0-alpha03 contém estas confirmações.
Correções de bugs
- Foi corrigido um bug no processamento de erros quando uma tarefa
SuspendToFutureAdapter
gera uma exceção. (b/327629504).
Versão 1.2.0-alpha02
9 de agosto de 2023
Lançamento de androidx.concurrent:concurrent-futures:1.2.0-alpha02
e androidx.concurrent:concurrent-futures-ktx:1.2.0-alpha02
. A versão 1.2.0-alpha02 contém estas confirmações.
Mudanças na API
SuspendToFutureAdapter
foi adicionado para escrever pontes de suspensão-ListenableFuture
(Ia8a66).
Versão 1.2.0-alpha01
22 de fevereiro de 2023
Lançamento de androidx.concurrent:concurrent-futures:1.2.0-alpha01
e androidx.concurrent:concurrent-futures-ktx:1.2.0-alpha01
. A versão 1.2.0-alpha01 contém estas confirmações.
Mudanças na API
- O
ResolvableFuture
agora tem anotações de nulidade adequadas nos métodos. (I2339f, b/236474470).
Versão 1.1.0
Versão 1.1.0
19 de agosto de 2020
Lançamento de androidx.concurrent:concurrent-futures:1.1.0
e androidx.concurrent:concurrent-futures-ktx:1.1.0
, sem mudanças desde a 1.1.0-rc01
. A versão 1.0.0 contém essas confirmações.
Principais mudanças desde a versão 1.0.0
- O
1.1.0
introduz extensões do Kotlin para ajudar a conversão entre corrotinas do ListenableFuture e do Kotlin, agora disponíveis emandroidx.concurrent:concurrent-futures-ktx:1.1.0
. Esse artefato precisa ser usado comcom.google.guava:listenablefuture
, e não com a biblioteca Guava completa, por ser um substituto leve da Guava que contém apenas ListenableFuture. Para usuários da biblioteca Guava completa, use as extensões ListenableFuture oficiais dekotlinx.coroutines.kotlinx-coroutines-guava
.
Versão 1.1.0-rc01
22 de julho de 2020
Lançamento de androidx.concurrent:concurrent-futures:1.1.0-rc01
e androidx.concurrent:concurrent-futures-ktx:1.1.0-rc01
, sem mudanças desde a 1.1.0-beta01
. A versão 1.1.0-rc01 contém estas confirmações.
Versão 1.1.0-beta01
24 de junho de 2020
Lançamento de androidx.concurrent:concurrent-futures:1.1.0-beta01
e androidx.concurrent:concurrent-futures-ktx:1.1.0-beta01
, sem mudanças desde a 1.1.0-alpha01
. A versão 1.1.0-beta01 contém estas confirmações.
Versão 1.1.0-alpha01
18 de dezembro de 2019
Lançamento de androidx.concurrent:concurrent-futures:1.1.0-alpha01
e androidx.concurrent:concurrent-futures-ktx:1.1.0-alpha01
. A versão 1.1.0-alpha01 contém essas confirmações (link em inglês). Esta é a primeira versão de androidx.concurrent:concurrent-futures-ktx
.
Novos recursos
- Extensões do Kotlin para ajudar a conversão entre corrotinas do ListenableFuture e do Kotlin estão disponíveis em
concurrent-futures-ktx
. Esse artefato precisa ser usado comcom.google.guava:listenablefuture
, e não com a biblioteca Guava completa, por ser um substituto leve da Guava que contém apenasListenableFuture
. Para usuários da biblioteca Guava completa, use as extensões ListenableFuture oficiais dekotlinx.coroutines.kotlinx-coroutines-guava
.
Mudanças na API
- Adiciona uma extensão
ListenableFuture.await()
em suspensão, que converte uma ListenableFuture em uma corrotina do Kotlin
Versão 1.0.0
Versão 1.0.0
9 de outubro de 2019
androidx.concurrent:concurrent-futures:1.0.0
é lançado. A versão 1.0.0 contém essas confirmações (link em inglês).
Recursos importantes da versão 1.0.0
androidx.concurrent:concurrent-futures:1.0.0
fornece a classe CallbackToFutureAdapter
, um recurso minimalista que permite agrupar o código baseado em callback e retornar instâncias de ListenableFuture
. Ele é útil para bibliotecas que querem expor operações assíncronas nas respectivas APIs Java de uma maneira mais elegante que callbacks personalizados, mas não executam trabalhos suficientes em várias linhas de execução para assumir a dependência totalmente em guava ou rx java, devido a questões de tamanho da biblioteca.
Versão 1.0.0-rc01
7 de agosto de 2019
Lançamento do androidx.concurrent:concurrent-futures:1.0.0-rc01
sem alterações do 1.0.0-beta01
. As confirmações incluídas nessa versão podem ser encontradas aqui (link em inglês).
Concurrent-ListenableFuture Versão 1.0.0-beta01
30 de maio de 2019
Lançamento de androidx.concurrent:concurrent-listenablefuture:1.0.0-beta01
e androidx.concurrent:concurrent-listenablefuture-callback:1.0.0-beta01
. As confirmações incluídas nessa versão podem ser encontradas aqui.
Essas bibliotecas oferecem um equivalente autônomo da interface ListenableFuture do Guava e um adaptador para a conversão de callbacks.
O artefato androidx.concurrent:concurrent-futures
lançado anteriormente, que oferecia um adaptador semelhante e incluía o artefato com.google.guava:listenablefuture
, pode ser problemático para desenvolvedores que usam conjuntos de ferramentas, como o Plug-in do Android para Gradle 3.4.0, com correspondência estrita de resolução de dependência. É recomendável que os desenvolvedores que não dependem da biblioteca Guava completamente mudem para androidx.concurrent:concurrent-listenablefuture-callback
.
Versão 1.0.0-beta01
7 de maio de 2019
Lançamento de androidx.concurrent:concurrent-futures:1.0.0-beta01
. As confirmações incluídas nessa versão podem ser encontradas neste link.
Mudanças na API
ResolvableFuture
eAbstractResolvableFuture
foram ocultados da API pública em favor doCallbackToFutureAdapter
, que oferece uma API mais segura.
Versão 1.0.0-alpha03
17 de dezembro de 2018
Lançamento de androidx.concurrent:concurrent-futures 1.0.0-alpha03
.
Novos recursos
- Introdução do
CallbackToFutureAdapter
. Trata-se de uma API nova e mais segura para unir uma API orientada por callback noListenableFuture
. Use essa opção em vez deResolvableFuture
.