Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

775
Visualizações
Lifecycle OnLifecycleEvent está en desuso

Después de actualizar la biblioteca del lifecycle de vida a 2.4.0, Android Studio marcó todos los eventos del ciclo de vida como obsoletos.

 @OnLifecycleEvent(Lifecycle.Event.ON_CREATE) fun create() { tts = TextToSpeech(context, this) } @OnLifecycleEvent(Lifecycle.Event.ON_PAUSE) fun stopTTS() { tts?.stop() }

¿Hay algún reemplazo equivalente como DefaultLifecycleObserver ?

over 4 years ago · Santiago Trujillo
4 Respostas
Responde à pergunta

0

Tu clase debe implementar DefaultLifecycleObserver así

 public class MyFavoriteClass implements DefaultLifecycleObserver

Luego implemente los métodos necesarios (Android Studio: ALT + i)

 @Override public void onResume(@NonNull LifecycleOwner owner) { methodRunsAtOnResume(); } @Override public void onDestroy(@NonNull LifecycleOwner owner) { myFavoriteOnDestroyMethod(); }

En su actividad o fragmento agregue esto a onCreate()

 @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); MyOtherClass class = new MyOtherClass(); getLifecycle().addObserver(class); }

Para implementarlo de manera más correcta, cree su propia clase de observador, pásele el objeto que desea observar. Un buen artículo al respecto es https://medium.com/@MinaSamy/android-architecture-components-lifecycle-433ace1ec05d

over 4 years ago · Santiago Trujillo Relatório

0

Para realizar un seguimiento del ciclo de vida de la Activity actual, puede utilizar la clase LifecycleEventObserver . Primero, crea una devolución de llamada,

 private val lifecycleEventObserver = LifecycleEventObserver { source, event -> if (event == Lifecycle.Event.ON_RESUME ) { Log.e( "APP" , "resumed" ) } else if ( event == Lifecycle.Event.ON_PAUSE ) { Log.e( "APP" , "paused" ) } }

Adjunte la devolución de llamada en el método onCreate de la Activity usando el método lifecycle.add( Observer ) ,

 lifecycle.addObserver( lifecycleEventObserver )
over 4 years ago · Santiago Trujillo Relatório

0

Puede crear esta función para usar DefaultLifecycleObserver y llamarla en la devolución de llamada del ciclo de vida onCreate () de una Activity

 private fun addDefaultLifeCycleObserver() { val defaultLifecycleObserver = object : DefaultLifecycleObserver { override fun onCreate(owner: LifecycleOwner) { super.onCreate(owner) Log.d("Main", "DefaultLifecycleObserver - onCreate") } } lifecycle.addObserver(defaultLifecycleObserver) }
over 4 years ago · Santiago Trujillo Relatório

0

Está en desuso porque ahora esperan que use Java 8 e implemente la interfaz DefaultLifecycleObserver. Dado que Java 8 permite que las interfaces tengan implementaciones predeterminadas, definieron DefaultLifecycleObserver con implementaciones vacías de todos los métodos, por lo que solo necesita anular los que usa.

La forma antigua de marcar funciones con @OnLifecycleEvent era una muleta para proyectos anteriores a Java 8. Esta era la única forma de permitir que una clase eligiera selectivamente qué eventos del ciclo de vida le importaban. La alternativa habría sido obligar a esas clases a anular todos los métodos de la interfaz del ciclo de vida, incluso dejándolos vacíos.

En su caso, cambie su clase para implementar DefaultLifecycleObserver y cambie sus funciones para anular las funciones aplicables de DefaultLifecycleObserver. Si su proyecto aún no usa Java 8, debe actualizar sus archivos de compilación de Gradle. Póngalos en el bloque android en el build.gradle de su módulo:

 compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } kotlinOptions { jvmTarget = '1.8' }
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda